问题
单项选择题
有以下程序:
main()
int i,n=0;
for(i=2;i<5;i++)
do
if(i%3) continue;
n++;
while(!i);
n++;
printf("n=%d\n",n);
程序执行后的输出结果是( )。
A.n=5
B.n=2
C.n=3
D.n=4
答案
参考答案:D
解析: for循环当i=2时,执行do循环。由于if表达式的条件为真,执行continue语句,结束本次循环,判断while循环条件为假,故退出while循环,执行n++,此时n的值为1。当i=3时,执行do循环,由于if{3%3)为假,执行下面的n++语句,此时n的值为2,结束本次循环,继续判断while循环条件为假,故退出while循环,执行n++语句,此时n的值为3。当i=4时,执行do循环。由于if(4%3)为真,执行continue语句,结束本次循环,继续判断while循环条件为假,故退出while循环,执行n++,此时n的值为4。当i=5时,退出for循环,因此最后输出的n值为4。所以,4个选项中选项D符合题意。