问题 单项选择题

有以下程序:
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符合题意。

单项选择题
单项选择题