单选题 在下列选项中,没有构成死循环的是
  • 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,从而使循环陷入死循环。