英雄连2十七项修改器:关于C语言问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 12:36:05
main()
?? { int i=0,x=0;
?? for (;;)
?? {
?? if(i==3||i==5) continue;
?? if (i==6) break;
?? i++;
?? s+=i;
?? };
?? printf("%d\n",s);
?? }
?? 程序运行后的输出结果是
执行continue也就是执行FOR循环是吗,后面的i++都不用考虑了是吧

你是不是打错了:把X打成了S?
如果是的话我们来做一遍:第一次进入循环两判断语句都不符合,做I++和X+=I,这时I=1,X=1
第二次进入,也不符合,做I++和X+=I,这时I=2,X=2
第三次进入,不符合,做I++和X+=I,这时I=3,X=3
第四次进入,由于I=3,所以执行CONTINUE;,回到FOR循环,这时I还是等于3,又执行CONTINUE,执行FOR。。。
于是成为死循环
我在TC上帮你验证过了,确实是死循环

编译不成功,变量s没有定义!
OK,定义了,但for循环在i==3时是个死循环。

s没有定义,如果首先定义s=0,则结果应该为7
本题是一个循环,当i=3或5时,返回到循环,直到i加到6时才跳出循环,所以当i=6时就跳出,输出s
s=1+2+4=7

死循环