main(){int i,n=0 for{(i=2:i<5;i++){do{if(i%3) continue;n++;}while(!i);n++;}printf("n=%d",n)}

求详解

#include<stdio.h>
void main()
{int i,n=0 ;//1
for(i=2;i<5;i++)//2
{do //3
{if(i%3) //4
continue;//5
n++; //6
}while(!i); //7
n++; //8
}
printf("n=%d\n",n);//9
}
//i=2,执行 continue跳出do while循环,执行第8行操作n=1;再执行第二次for循环i=3,if条件不成立,
//执行第6行n++,n=2,再执行第8行操作n=3;i=4,执行 continue跳出do while循环,执行第8行操作n=4;i=5结束for循环,结果输出4
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-29
本程序for循环执行3次,i=2,3,4
当i=2时,i%3=2不为0,执行continue,不执行while中n++,while(! i) 条件为假(0),do -while不循环执行,再执行n++后n值为1.
当i=3时,i%3=0 条件为假(0),不执行continue,执行while中的n++,n值为2,while(! i)条件为假(0),do-while不循环执行,再执行n++后n值为3.
当i=4时,i%3=1不为0,条件为真,执行continue,不执行while中的n++,while(! i)条件为假(0),do-while 不循环执行,再执行n++后n值为4.正确选项是D。
第2个回答  2011-08-07
n的值为4
为>=2,<5这个区间中,包含的数的个数,与能被3整除的数的个数总和~
第3个回答  2011-08-07
有括号先算括号内的 而且你的标点。。。
第4个回答  2011-08-07
相似回答