A-A+
在下列选项中 没有构成死循环的是()。A.int i=100; while(1) { i=i
问题详情
在下列选项中,没有构成死循环的是()。
A.int i=100; while(1) { i=i%100+1; if(i>100)break; }
B.for(;;);
C.int k=10000; do{k++;}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,循环结束,不会构成死循环。