关于C语言中死循环的一道题目

关于C语言中死循环的一道题目,第1张

A中有break啊,if(++i%3==0)条件满足了就跳出循环了

B中只启嫌郑有continue,continue只是跳出本次悄颂循环,下次循环还是会进入者磨的,没有break

答案是C么?我觉得A非死循环。

A %是取余数的意思,第一次循环的时候i=100,在循环体内i=100%100+1=1.不满足if条件,第二次氏搏循环,i=1%100+1=2,第三次循环i=3....当第一百次循环,i=99%100+1=100,满足if条件,break跳出循环体。

C while()中的括号内为真歼备祥时循环,滚纯++s%2+s%当s为10(偶数)时,++s为11%2,余数为1,s%2为0.所以while(1),s++(11为奇数),++s为12%2,余数为0,s%2为1.所以while(1),依次类推,while括号内恒为1,即为死循环。

D for语句没有判断条件,就跳不出循环,自然是死循环。

以上完全是个人意见,仅供参考

看渗消你怎么定义i了,如果是int i,那么i的范围是-32766到32767,那么这就不是死循环了,因为i++后i=32767加了1,因为已经到了最大值,所以i有回到了最小值,从新来丛腔知过圆扰,那么i=-32766,那么就可以break了

如果定义 long i那么就是死循环了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12454957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存