c语言中程序if(i%3)continue;n++;怎么执行的?比如说当i=3或者i=5?

如题所述

这个语句需要用在循环语句中,continue表示跳过当前计数器的循环,进入下一次循环。
如for(i=1;i<=100;i++)
{
if(i%3) continue;
n++;
}
如果循环计数器i的值不能被3除尽,则执行continue语句,跳过后面的n++,i自加1重新进入下一次循环。
如当i=3时,i%3返回false,执行n++;然后i变为4进入下一次循环;
当i=5时,i%3返回true,执行continue,跳过后面的语句n++,i变为6,重新进入下一次循环
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-04
这个例子中的语句不完整,外围必有for或者while。贴出完整语句来。
如果是i为循环条件,那么,3的时候n不加1、5的时候n加1追问

追答

答案B)n=2
除了i为3的时候,if语句都不成立,每次n加1没有问题。
在i为3的时候,if语句成立,执行continue,continue语句会直接结束最内侧循环语句(这里是while)的当前循环,跳转至逻辑判断,n没有加1

追问

不对是4,因为i可为2,3,4;所以while后的那个n++要执行3次。而只有i为3时,if(i%3)为fasle,所以只有这时才执行紧跟着的n++。所以n一共加了4个1。

追答

抱歉,看错了,外层循环还有一个n++
另外上面描述少了一个不字,不为3成立。
“而只有i为3时,if(i%3)为fasle,所以只有这时”,这时才不会执行continue,n++执行。

因此最终正确答案为4,绕的晕了,呵呵

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网