哪个是个死循环?!

来源:百度知道 编辑:UC知道 时间:2024/05/25 23:55:16
5.在下述选项时,没有构成死循环的程序是( )
(1)int i=100
while (1)
{
i=i%100+1;
if (i>100)
break;
}
(2)for (;;);
(3)int k=1000;
do
{
++k;
}while (k>=10000);
(4) int s=36;
while (s);--s;

(4)和(3)里边 哪个是死循环?! 详细说明下 谢谢

(4)啊,注意while(s)有个“;”哦,s!=0,因此这个循环永远都跳不出来的

4
因为while()后面多了一个分号,这样的话,while()循环模块就在此已经结束
而--s只是其后面另外的一句程序罢了哈

4 是死循环
while (s);
注意while (s)后面有分号,那个分号就是while (s)的循环体,什么也不做,所以一直循环

3不是死循环
int类型的范围>10000,所以K可以一直自加到10000从而结束循环

当然四是死循环,因为,while中的条件永远为真(因为while后有;所以while不执行任何动作,s永远为真)