这道题不太懂,看到的高手帮我解释下 !谢谢
#include <stdio.h>void main()
{
int i,n=0;
for(i=2;i<5;i++)
{
do
{
if(i%3)//?
continue;
n++;
}
while(!i);//"!i"什么意思这里;
n++;
}
printf("n=%d\n",n);
}
[ 本帖最后由 自强 于 2011-10-24 22:50 编辑 ]
#include <stdio.h> #include < stdlib.h > void main() { int i,n=0; for(i=2;i<5;i++) { do { if(i%3)//? continue;//while 循环中,continue中,执行完后,重新测试表达式的值,再判断是否再执行循环。 n++; } while(!i);//"!i"什么意思这里; n++; } printf("n=%d\n",n); system ( "pause" ); }首先i =2,i%3 = 3,if(1),执行countinue,跳出循环,while(!i),永远都真,然后执行n++,n=1。再执行for循环,i++,i=3, i%3=0;不执行countinue,执行n++,n=2,再执行下一个n++,n=3, 再执行for, i++,i=4,if满足,执行countinue,即跳出循环,执行n++, n=4,再执行for,i++,i=5,不满足,跳出循环,执行printf,所以