账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    为什么加上double就会有输出
    37
    0

    环境:codeblock
    编译环境:mingw32-gcc.exe -pedantic -Wextra -Wall -std=c99 -c path
    代码:

    #include <stdio.h>
    
    int main(){
        FILE *fin, *fout;
        fin = fopen("data.in","rb");
        fout = fopen("data.out","wb");
        int m, n;
        int line = 1;
        while(fscanf(fin, "%lld%lld", &n, &m) == 2){
            if(m == 0 && n == 0) break;
            double sum = 0;
            for(int i=n;i<=m;i++){
                //double j = i; //问题行
                sum += 1 / ((double)i * (double)i);
            }
            fprintf(fout, "Case %d: %.5f\n", line, sum);
            line++;
        }
        fclose(fin);
        fclose(fout);
        return 0;
    }

    问题:
    当问题行也就是double j = i取消注释的时候,data.out就会有输出,而当问题行被注释上的时候,data.out就不会有输出,为什么呢?
    这行不是毫无意义吗?

    输入数据为:

    2 4
    65536 655360
    0 0
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部