问题
单项选择题
在下列选项中,没有构成死循环的是
A) int i=100;
B) for(::);
while(1)
i=i%100+1:
if(i>100)break;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,陷入死循环。对于选项D,s从36开始,每循环一次就减小1,直到s为0,循环结束,不会构成死循环。