问题详情

以下程序的输出结果是( )。 main { int i=0,S=0; for(;;) { if(i==3 ||i==5)continue; if(i==6)break; i++; s+=i: }; printf("%d\n",s); }


A、10

B、13

C、21

D、程序陷入死循环

时间:2022-01-01 11:50 关键词:

答案解析

D
当i一0时,两个if都不满足,所以都不执行,直接执行i++语句,此时i为1,S为l,返回for循环中;当i=1时,同样不执行两个if语句,执行i++后,i=2,s=3,返回for循环中;i=2时也不执行if语句,执行i++后,i=3,s=6,接着又执行for循环,此时符合第一个if语句,执行到continue时不再执行i++了,continue是跳出本次循环,接着下次循环。永远这样执行下去,i的值永远为3,故选择D选项。