在C语言中为什么我定义if(count==2)break.循环两次,但是他还是循环了3次。

我是小白刚刚学习的。经过不断测试发现图1 的int count定义变量变成1或if(count==1)break.就可以变成循环两次。但是图3的为什么if(count==5)break.循环5次,就可以循环5次。图一为什么我用了break语句,f(count==2).还是循环了3次。而图3的不会。(图1的程序,我是想写20~1自减的,去奇数,然后用break语句强制循环2次的)

很正常啊!count++;在if(count==2) break;后面,而if(count==2) break;又在输出后面;count初值是0,按这个顺序输出:0时一次,1时一次,2时一次,这不是3次吗?而第二张图片的代码中count++;在if(count==5) break;前面,同样count初值是0,输出0、1、2、3、4后count++;使count变为5,再if(count==5) break;就跳出了。第二个count++;在这过程中根本没有执行,要等跳出while后只执行一次……
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-10
if(count==1)break;位置有影响
把break放到输出之前就可以了本回答被提问者采纳
第2个回答  2017-05-10
count 从0开始计算,
等于2,就表示,计算了三次。
如果你想计算两次就退出,应该写成:
if( count==1) break;