c语言中continue为什么不能用在while 和do.....while中

main()
{int i,sum;
i=1;sum=0;
while(i<=5){
if(i==3)continue;
sum+=i;
i++;}
printf("%d",sum);
}
这为什么和用for语句循环结果不一样呢????

continue是从当前语句跳转到循环首部
for的判别过程是累计->判断
而while的判别过程是直接判断
就你的程序而言 如楼上所言由于i不会累计所以判别条件恒为真
解决方法就是将i的累计操作放到continue前面
可以是这样的
main()
{int i,sum;
i=0;sum=0;
while(i++<=5){
if(i==3)continue;
sum+=i;
}
printf("%d",sum);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-03-16
不清楚你的程序想表达什么?

continue是跳到下一次循环,也就是说你的程序当i=3时, continue,又什么都没做就跳到if(i=3)这里执行,肯定就死循环了。

假如你的程序想表达1+2+4+5的话

if (i = 3)
{
i++; continue;
}
第2个回答  2019-02-11
一样的啊,第一个只是把取出的字符存放在ch中,两者没有差别

相关了解……

你可能感兴趣的内容

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