问题 单项选择题

在下列选项中,没有构成死循环的是

A.int i=100;
while(1)
i=i%100+1;
if(i>100)break;

B.for(;;);

C.int k=10000;
dok++;while(k>10000);

D.int s=36;
while(s)--s;

答案

参考答案:D

解析: 选项A)的循环表达式的条件永久为1,并且小于100的数与100取余不超过99,所以在循环体内表达式i%100+1的值永远不大于100,break语句永远不会执行,所以是死循环;选项B)的括号内没有能使循环停下来的变量增量,是死循环;选项C)中先执行k++,使k=10001,从而使循环陷入死循环。

单项选择题 案例分析题
多项选择题