希望有详细的解答过程
以下程序的输出结果是n=4
#include<stdio.h>
void main()
{
int i,n=0;
for(i=2;i<5;i++)
{
do {
if(i%3) continue;
n++;
} while(!i);
n++;
} printf("n=%d",n);
}
A对
B错这道题怎么做,希望有详细的解答过程,被这道题搞蒙了 这有啥可解答的,我都怀疑这代码跑不动 #include<stdio.h>
void main()
{
int i,n=0;
for(i=2;i<5;i++) //这里限定 i 取值为 2 3 4
{
do {
if(i%3) continue; //这里在上面 i 的取值范围内只有3不执行continue
n++;
} while(!i); //这里i 非0则不进行下次循环,在上面的 i 取值范围内, 这个do while循环只可能循环一次
n++;
} printf("n=%d",n); //只有3种 i 的取值就好好算一下每个取值 n 加了多少次
}
i = 2 时:
n += 1--> 因为do while循环内continue了,do while又只执行一次,所以只有for循环内的 n++ 执行了
i = 3 时:
n += 2--> 上面分析了,i = 3 时,没有执行continue,所以do while 内 n 加了一次,for循环内 n 加了一次
i = 4 时:
n += 1--> i = 4 的情况和 i = 2完全相同
页:
[1]