解释C程序

来源:百度知道 编辑:UC知道 时间:2024/05/04 18:23:09
有以下程序:
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");
}
程序执行后的输出结果是(D)
A n=5 B n=2 C n=3 D n=4
解释一下为什么输出结果是n=4,我要的不是结果,我要的是为什么会得到这个结果,请解释一下程序的意思。

第一次运行for循环:
i=2;
i%3=2为真,运行if语句,continue跳出此次do...whlie循环;
i是非零值,为真,!i为假,不再运行do...while语句,
n++使n为1;
第二次运行for循环:
i=3<5;
i%3=0为假,不运行if,直接n++,n值变为2,
i是非零值,为真,!i为假,不再运行do...while语句,
n++使n为3;
第三次运行for循环:
i=4<5;
i%3=1为真,运行if语句,continue跳出此次do...whlie循环;
i是非零值,为真,!i为假,不再运行do...while语句,
n++使n变为4;
i++=5不小于5,不再运行for循环;
printf输出n=4.