这里的while为什么是死循环啊?不是有i=5的时候break跳出了么?
答案:2 悬赏:70
解决时间 2021-02-23 18:36
- 提问者网友:沦陷
- 2021-02-23 01:45
这里的while为什么是死循环啊?不是有i=5的时候break跳出了么?
最佳答案
- 二级知识专家网友:神鬼未生
- 2021-02-23 02:42
第一次进入循环i==0,碰到第一个if时continue,此时i++没起作用,因此第二进入循环i还是为0,这样第三次第四次,改的话:
#include
main()
{
int i=0;
while(i<10)
{
if(i<1)
{
i++;
continue;
}
if(i==5)
break;
i++;
}
.....
}
另外说一句,第一个if完全没有必要,最好直接删掉
#include
main()
{
int i=0;
while(i<10)
{
if(i<1)
{
i++;
continue;
}
if(i==5)
break;
i++;
}
.....
}
另外说一句,第一个if完全没有必要,最好直接删掉
全部回答
- 1楼网友:詩光轨車
- 2021-02-23 02:54
问题在这一行上:
if(i<1)continue;
如果i<1,应该先执行 i++,再continue
if(i<1){
i++;
continue;
}
否则i会一直小于1,因为你没有递增。所以死循环
if(i<1)continue;
如果i<1,应该先执行 i++,再continue
if(i<1){
i++;
continue;
}
否则i会一直小于1,因为你没有递增。所以死循环
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯