下列语句段中不是死循环的是( )。

下列语句段中不是死循环的是()。A.intI=100;while(1){I=I%100+1;if(I=20)break;}B.intI;sum=0;for(I=1;;I+... 下列语句段中不是死循环的是( )。
A. int I=100;
while(1)
{ I=I%100+1;
if(I=20) break; }
B. int I;sum=0;
for(I=1;;I++) sum=sum+1;
C. int k=0;
do{++k;
}while(k>=0);
D. int s=3379;
while(s++%2+3%2) s++;
展开
 我来答
sos5403
2010-01-17 · TA获得超过462个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:289万
展开全部
所谓死循环,就是循环一直执行,永不终止。

循环如果不是死循环,就一定要有循环终止条件。而终止条件一般有两种格式:

1。if(....) break; 满足if后的表达式为真,终止。

2。在循环的约束条件上while(..),for()的3个条件里中间的那个。

我们来看A,首先i%100的结果是0,然后+1;循环执行一次后i为1。第二次执行i%100是1,再加1,执行两次后为2。。。。。如此下去,执行20次后,i的值是20。满足if,执行break。终止循环。
注:不知道是不是楼主写错了,上面分析是按照if(i==20)来进行的。

如果真如楼主所写,是if(i=20)那循环只执行一次,就终止。

Bfor循环的第二个条件为空(两个分号中间的位置)所以没有约束条件,循环体内也无break,所以死循环

Ck的初始条件是0。一直执行++操作。一直满足k>=0,所以循环一直执行。死循环

Dwhile()内,一直是一个非零的值。我们认为,非零即为真,所以一直执行,死循环
躺在海滩看星星
2010-01-17 · TA获得超过1004个赞
知道小有建树答主
回答量:546
采纳率:0%
帮助的人:564万
展开全部
如果那个if(l=20)是你打错了的话答案就是A,应该是if(l==20)才有答案,while循环执行20次,当l等于20时就break跳出循环了。其他都好懂,就D有点复杂。是运算符优先级的问题。++高于%高于+,所以你仔细看一下while那个循环条件,是恒不为0的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3028fd6b8
2010-01-17 · TA获得超过686个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:0
展开全部
答案是A。

因为if(l = 20)的条件是真,所以会程序会执行break,然后跳出循环。
其他的选项因为循环条件都是始终为真,也没有跳出循环的语句,所以是死循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
099黄超雄
2010-01-17
知道答主
回答量:46
采纳率:0%
帮助的人:18.1万
展开全部
a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小小可儿5
2010-01-17
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
看见你看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式