C语言达人进~小妹考2级

来源:百度知道 编辑:UC知道 时间:2024/05/31 19:34:09
有如下程序
main()
{int i,sum=0;
for(i=1;i<=1;sum++)
sum+=i;
printf("%d\n".sun);
}

答案是:死循环

为什么不是2呢~?

sum++的地方应该是i++;

造成i始终为1,一直满足条件i<=1;所以退不出循环

你的循环条件变量是i
但是你的i始终就是1
一直满足条件,跳不出循环
应该改成i++
就可以了

这个主要是你对for循环不大了解,对于for循环第二个分号后面是只在在每次循环后执行的语句,你想,你每次执行sum++,所以sum改变了,但执行完后,i还是等于1,所以i<=1成立,所以又下一个循环,所以你应该改变i的值,使它改变,从而使i<=1不成立,这样才跳出循环