问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

以下程序段为什么会进入死循环?

发布网友 发布时间:2022-05-17 05:30

我来回答

6个回答

热心网友 时间:2023-10-09 09:36

楼上的几位都没有把握关键!
楼主虽然在循环体中加入了break语句,
但要注意执行break语句的条件-->(i==6)
由程序i永远也不会是6!
这才是关键!
另外,程序有错,int i=0,s=0 后面没有分号!
下面,我们走一下程序,

i初值为零,
进入循环体,i!=3,i!=5,i!=6;
所以此轮循环后i自身加1,s自身加i
于是下轮循环时,i=1,s=1;

i进入此轮循环式的值为1,s为1,
进入循环体,i!=3,i!=5,i!=6;
所以此轮循环后i自身加1,i=2,s自身加i
与时下轮循环时,i=2,s=3;

i进入此轮循环式的值为2,s为3,
进入循环体,i!=3,i!=5,i!=6;
所以此轮循环后i自身加1,i=3,s自身加i
与时下轮循环时,i=3,s=6;

i进入此轮循环式的值为3,s为6,
进入循环体,i==3,直接跳入下一轮循环
所以此轮循环后i的值仍为3,s=6
(在continue语句下,后面的语句在本轮循环中不执行)

于是下一轮循环中,i的值仍为3,s=6
于是,在以后的循环中,i都会因为其值为3而不断跳入下一轮循环。而i的值将永远不会再改变,所以i永远都不会等于6,所以永远不会退出for循环,于是就进入了死循环!

如果楼主是想求1+2+4的值,
可以这样改:(也许楼主不是这个意思...)

main()
{
int i=0,s=0;
for (;;)
{
i++;
if(i==3||i==5) continue;
if (i==6) break;

s+=i;
};
printf("%d\n",s);
}

热心网友 时间:2023-10-09 09:37

请问LZ想要程序运行什么结果啊,如果只想让他不进入死循环,改动这个就可以拉
main()
{
int i=0,s=0
for (;或者在这里加个控制条件;)
{
if(i==3||i==5) continue; //continue改成break
if (i==6) break;
i++;
s+=i;
};
printf("%d\n",s);
}

热心网友 时间:2023-10-09 09:37

missing ';' before 'for'

for前少了一下分号~!~

看好了:
i s
0 0
1 1
2 3
3 6 (i=3时,你用了CONTINUE,变量i的值不能得到增加了~!)

热心网友 时间:2023-10-09 09:38

关键就在for (;;)
for语句的一般形式为(表达式1;表达式2;表达式3)
我们可以看到表达式1,2,和3全部被省略
表达式1被省略,不过在for语句之前已经给变量赋初值了,无影响
表达式2被省略,也就是认为表达式2始终为真,循环就会无终止地进行 下去啊
表达式3也被省略,循环无法结束啊
3个全省略,主要是第二个被省略,注定了这是一个永无终止的循环

热心网友 时间:2023-10-09 09:39

continue的作用是本次循环结束,从头开始进入下一次循环
i=3时执行到continue,后面部分就跳过去了,i值不改变,所以死循环了

热心网友 时间:2023-10-09 09:39

循环体中没有判断跳出循环的语句,所以会永远循环下去,break只是不执行一下语句返回循环的头部,继续执行。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 标准程序的编写中,都会有while语句死循环,而死循环中wait time0.3有什么作用? 死循环对编程没有任何益处对吗 什么叫死循环 盛夏晚晴天什么时候,在哪个台演 吸顶灯里噼啪响是怎么回事? 死循环的页面-死循环 盛夏晚晴天杨幂刘恺威拍戏时在一起吗 怎样在网上看到实时卫星地图? 吸顶灯里面噼里啪啦的响是什么原因? 有什么地图可以看到实时的卫星图 单片机C51语言中的中断程序最后面的死循环什么作用怎么理解?没有会什么样呢? 单片机C语言中的的死循环即while(1)有什么作用?详...??? 单片机C语言中的的死循环即while(1)有什么作用?详细说明 为什么使用实时地图会断网? “骗子地图”怎么回事?好像很火的样子,哪位大神来说说? 江西凤宁光学仪器有限公司怎么样? 请教关于体式显微镜的品牌及价格 宜家会员生日蛋糕是什么样的 宜又佳会员怎么改手机号 西安蓝田光学仪器厂怎么样? 像for(;;)这样的无限循环在程序中有什么作用呢? 单片机里的看门狗对while(1),这样的死循环有看门作用吗? 2018年去世的明星都有哪些? 张国荣离世18年,为什么依然被大家怀念? 张国荣逝世18周年,当年的天王留给我们哪些难忘的回忆? 张国荣去世18年,没把巨额遗产全留给家人。原因是什么呢? 2018年十月份去世的名人,名星有哪些 张国荣逝世18年,多位歌手联合举办悼念音乐会,生前在业界的口碑如何? 张国荣逝世18周年,都有哪些明星发文表思念? 今年去世的明星有哪些(熟知的) 中级职称三门课程,请问哪们最难,哪门最简单,来排顺 您好,艾灸养生馆,能办里营业执照吗? 小区里面可以开艾灸馆吗在住宅小区内可以在自家来艾灸馆吗?需要什么手续_百度问一问 如何可以快速赚钱 加盟艾灸馆需要办理什么证件? 有适合上班开早会时玩的休闲小游戏吗? 学艾灸,开艾灸馆需要什么手续丨咨询入口 三年利息6000需要存多少钱 定期存款利率6000三年 未成年该如何在网上赚钱?(开淘宝网店要开通网银、我办不了。我只有银行卡)谢谢了,大神帮忙啊