A-A+
有以下程序: main() { int i=0 s=0; for(;;) { if(i==3
问题详情
有以下程序: main() { int i=0,s=0; for(;;) { if(i==3||i==5) continue; if(i==6) break; i++; s+=i; } printf ("%dn""s); } 程序运行后的输出结果是()。
A.10
B.13
C.21
D.程序进入死循环请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
解析:本题程序中的for循环省略了for语句的3个表达式,如果循环体中没有break语句的话则为死循环。循环中每次i被增1,当i到6时才能执行到break语句跳出循环,但是当i自增到3的时候会执行continue语句重新循环,此时后面的“i++;”语句执行不到,i的值为3一直没有改变,所以continue语句始终要执行,因此for循环将一直循环下去,所以,4个选项中选项D符合题意。