为了账号安全,请及时绑定邮箱和手机立即绑定

为什么加上double就会有输出

为什么加上double就会有输出

慕勒3428872 2019-02-06 21:46:21
环境: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 465536 6553600 0
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

你输入时指定的格式不对, 
https://img1.sycdn.imooc.com//5c5ae5470001dd3408000142.jpg

%lld 改为 %d后, 运行正常


查看完整回答
反对 回复 2019-02-06
  • 1 回答
  • 0 关注
  • 432 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信