答案为什么这样?
有以下程序
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);
}
程序执行后输出结果是 n=4。
答案:
当i=2时,i%3为真,继续执行n++;此时n=1,!i为假,结束while循环,执行n++,此时n为2。
当i=3时,i%3=0,跳出循环。
当i=4时,i%3=1为真,继续执行n++,此时n为3,!i为假,结束while循环,继续往下执行n++,此时n为4。
故本题答案为D。
问一下当i=2时,执行了continue后的效果是继续执行该次循环后的语句吗?不是结束该次循环,进行下次循环吗?