下面程序段不是死循环的是?
A)intI=100;while(1){I=I%100+1;if(I>100)break;}B)for(;;);C)intk=0;do{++k;}while(k>=0);...
A)int I=100;
while(1)
{ I=I%100+1;
if(I>100) break;
}
B)for ( ; ; );
C)int k=0;
do{++k;} while(k>=0);
D)int s=36;
while(s); --s;
答案是C,为什么我觉得应该是A?觉得C的答案是无限循环下去的。。
A中不是有IF语句和break吗?应该可以判断跳出循环的条件,并没有缺少能使程序终止的判断条件呀。。
A搞明白了,可是C。。可能是答案有问题了?
C 的答案,即使溢出也是会从负数开始输出,会无限输出,这个和死循环有什么区别? 展开
while(1)
{ I=I%100+1;
if(I>100) break;
}
B)for ( ; ; );
C)int k=0;
do{++k;} while(k>=0);
D)int s=36;
while(s); --s;
答案是C,为什么我觉得应该是A?觉得C的答案是无限循环下去的。。
A中不是有IF语句和break吗?应该可以判断跳出循环的条件,并没有缺少能使程序终止的判断条件呀。。
A搞明白了,可是C。。可能是答案有问题了?
C 的答案,即使溢出也是会从负数开始输出,会无限输出,这个和死循环有什么区别? 展开
展开全部
第一个确实是死循环,因为I永远不可能大于100。为什么呢? 我们假设I已经到了99,那么I%100+1后是100,然后100%100+1之后又变成2了。然后就是重复这样的循环,永远不可能到I>100的时候。
第三个因为在++k后k始终大于0,所以也是死循环。
死循环就是无限循环,第三个数据的无限输出也是死循环的一种。凡是无限进行下去的表达式都可以认为是死循环
第三个因为在++k后k始终大于0,所以也是死循环。
死循环就是无限循环,第三个数据的无限输出也是死循环的一种。凡是无限进行下去的表达式都可以认为是死循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当第一个负数出现的时候,条件不成立,跳出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询