有以下程序,程序执行后输出结果是 #include <stdio.h> main() {int i,n=0; for(i=

有以下程序,程序执行后输出结果是
#include <stdio.h>
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
首先要知道,最外层是forprintf循环,里面嵌套dowhile循环,然后dowhile循环里面嵌套ifcontinue循环。
i = 2时:
进入dowhile循环,if(i%3)为真,跳出ifcontiue循环,不执行n++,接着判断while(!i)为假,跳出dowhile循环,执行循环外n++,此时i=2, n=1
接着执行for循环i++
i = 3时:
进入dowhile循环,if(i%3)为假,执行ifcontinue语句,n++,此时i=3, n=2,判断while为假,跳出dowhile循环,执行循环外n++,此时i = 3, n = 3
接着执行for循环i++,
i = 4时:
进入dowhile循环,if(i%3)为真,跳出ifcontinue循环,不执行n++;判断while(!i)为假,跳出dowhile循环;执行循环外n++,此时i=4, n=4
接着执行for循环i++,
n=5,5<5,因此判断forprintf循环不成立,跳出循环,
最终输出n = 4;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-26
选D
i = 2时:
进入dowhile循环,if(i%3)为真,continue跳出dowhile循环,n++,此时i=2, n=1

i = 3时:
进入dowhile循环,if(i%3)为假,n++,此时i=3, n=2,跳出dowhile循环,再次n++,此时i = 3, n = 3
i = 4时:
进入dowhile循环,if(i%3)为真,continue跳出dowhile循环,n++,此时i=4, n=4
最终输出n = 4;本回答被提问者和网友采纳
相似回答