问题
单项选择题
有以下程序( ) 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=2
B.n=3
C.n=4
D.n=5
答案
参考答案:C
解析: main() {int i,n=0; for(i=2;i<5;i++)/*i初始值为2,循环执行条件为i<5,步进值为1*/ {do {if(i%3)continue;/*当i%3的值非0时,跳过下面语句直接执行while判定*/ n++;/*当i%3的值为0时,执行本行语句后再执行while判定。整个运算过程中,本语句仅被执行1次*/ }while(!i);/*当i的值为0时执行第二次do-while循环*/ n++;/*此行为for循环体内语句,被执行3次*/ } printf("n=%d\n",n);/*本程序段变量n共执行自加1运算4次,故n的值为4*/ }