积极答复者
[求助]编个累加程序给电脑搞蓝屏了啊....

问题
-
求高手帮忙看下这段代码,可以通过编译,但是不能得到结果.
个人感觉i5处理器算这个应该很快的,但是计算时间很长,还提示除以0的错误,前几次还给电脑整蓝屏了.
只算第一个循环也不能正确的到5050,大家看看是什么问题啊.
# include <stdio.h>
void main()
{
int i,j,k,M1=0;
long M2=0;
float M3=0;
for(i=1;i<100,i++;)
{
M1+=i;
}
for(j=1;j<50,j++;)
{
M2+=(j*j);
}
for(k=1;k<10,k++;)
{
M3+=(1/k);
}
printf("%d\n",M1);
printf("%.2f\n",M1+M2+M3);
getchar();
}菜鸟飞飞~
答案
-
Hi 才华大盗,
i<100,i++;和j<50,j++以及k<10,k++会导致条件永远是true,因为逗号运算实际是以顺序执行这两个语句,导致后面的条件永远为true,所以你这个结果M1,M2都会是2147483647,就是十六进制的7FFFFFFF,四个字节的最大数值,而M3执行到最后会让k变成最大值然后归零导致除零错误。
# include <stdio.h> void main() { int i,j,k,M1=0; long M2=0; float M3=0; for(i=1;i<=100;i++) { M1+=i; } for(j=1;j<50;j++) { M2+=(j*j); } for(k=1;k<10;k++) { M3+=(1/k); } printf("%d\n",M1); printf("%.2f\n",M1+M2+M3); getchar(); }
orichisonic http://blog.csdn.net/orichisonic If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
- 已标记为答案 才华大盗 2012年2月13日 10:29
全部回复
-
Hi 才华大盗,
i<100,i++;和j<50,j++以及k<10,k++会导致条件永远是true,因为逗号运算实际是以顺序执行这两个语句,导致后面的条件永远为true,所以你这个结果M1,M2都会是2147483647,就是十六进制的7FFFFFFF,四个字节的最大数值,而M3执行到最后会让k变成最大值然后归零导致除零错误。
# include <stdio.h> void main() { int i,j,k,M1=0; long M2=0; float M3=0; for(i=1;i<=100;i++) { M1+=i; } for(j=1;j<50;j++) { M2+=(j*j); } for(k=1;k<10;k++) { M3+=(1/k); } printf("%d\n",M1); printf("%.2f\n",M1+M2+M3); getchar(); }
orichisonic http://blog.csdn.net/orichisonic If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
- 已标记为答案 才华大盗 2012年2月13日 10:29
-
Hi 才华大盗,
i<100,i++;和j<50,j++以及k<10,k++会导致条件永远是true,因为逗号运算实际是以顺序执行这两个语句,导致后面的条件永远为true,所以你这个结果M1,M2都会是2147483647,就是十六进制的7FFFFFFF,四个字节的最大数值,而M3执行到最后会让k变成最大值然后归零导致除零错误。
# include <stdio.h> void main() { int i,j,k,M1=0; long M2=0; float M3=0; for(i=1;i<=100;i++) { M1+=i; } for(j=1;j<50;j++) { M2+=(j*j); } for(k=1;k<10;k++) { M3+=(1/k); } printf("%d\n",M1); printf("%.2f\n",M1+M2+M3); getchar(); }</stdio.h>
orichisonic http://blog.csdn.net/orichisonic If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
菜鸟飞飞~