中易网

C++题,下面4个程序中,哪三个是死循环程序?哪个不是死循环程序?为什么?

答案:4  悬赏:60  
解决时间 2021-03-12 08:21
//第一个
main()
{
int i;
int a[10];
for(i=0;i<=10;i++)a[i]=0;

}

//第二个
main()
{
int i=0;
while(i<=10);
i++;
}
//第三个
main()
{
int i=0;
while(i>=0)i++;
}

//第四个
main()
{
int i=0;
for(;;)if(i=0)break;
}
最佳答案
1.不是死循环。循环结束条件i=11的时候,判读
i<=10表达式为false,跳出循环。i++,总会到11.

2.是死循环,有分号,i永远i<=10。

3.死循环。因为它循环结束的条件必须是i>=0表达式为false,也就是i<0.然而i=0,以后每次都i++,这样i肯定大于0.结束条件肯定不成立。

4.死循环。for(;;)它没有循环结束条件。
但是循环体有个跳出循环的条件。就是i=0。因为i=0是个赋值表达式,它的值为0,所以一直为
false.所以条件不满足,一直执行不了break.
所以就一直跳不出循环。是死循环。
全部回答

 int num_date[4] = { 1 , 2 ,3 ,4};//定义并初始化一个整形数组

 for(int i = 0; i < sizeof(num_date)/4 ; i++)  {//循环输出数组num_date里面的值   cout << num_date[i] << endl;  }

1.不是 int i; for(i=0;i<=10;i++)a[i]=0; //i在此初始化为0,自增到11 for自然退出 2.是死循环 int i=0; //i在此初始化 while(i<=10); //这个while的循环体中就一条空语句;中没有对i的值进行任何改变,条件恒成立,所以死循环 i++; //这个要在while退出后才会执行,对while的条件没有任何影响 3.不是 int i=0; //注意int的确切类型是signed int 有符号整型 while(i>=0)i++; //i在从0自增到 0第一个:没问题,是初始化数组的基本方法之一。 第二个:死在while(i<=10);中,因为该句后面有个分号,它相当于执行无数次循环后才进行i++,所以是死的。 第三个:死在while(i>=0)i++中,因为i始终是非负数,因此无法不满足i>=0条件,故死; 第四个:if(i=0)就是错误的,应改写成“if(i==0)”。
第一个不是,但有数组越界 第二个是, while(i<=10);注意分号,i总是等于0 第三个不是,因为有符号整数是有范围的,正的超过范围就成了负的 第四个是,if中将i赋值为0,则if条件为假,不执行break,故不退出此类for死循环 补充:while、do while、for死循环是可由break或return(函数调用时)退出的,而死循环也不是简单的看待的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大数据迁移
大连阳光医院是一家怎么样的医院?评价好吗?
猪八戒偷看沐浴打一成语
牛奶棚NO.166地址在哪,我要去那里办事
apink showtime e05的歌曲大全
magnetic resonance imaging-based voxel-bas
梦幻西游70头怎么打望穿秋水符石啊,急!三个
西安 冷饮原料哪里有卖
谁可以帮我创一个战地2的多人游戏账号,拜托
魔血之剑怎样才能打死那会飞的怪
五洋渔业油料公司在哪里啊,我有事要去这个地
你们肝区按进去会痛吗?
“山凹”的拼音是什么?
除了美国和俄罗斯日本拜访月球,还有什么国家
医院停止营业了,注册在医院的护士执照会受到
推荐资讯
微信一登录说是数据文件损坏,点修复提示修复
半兽战士几级诱惑?
此番非来为看客,志在龙门夺锦袍是什么意思
“对于现在有的学校,家长让孩子读、背《三字
辐射3苦卡普死了~帮帮忙啊
X115/八仙溪大桥(路口)我想知道这个在什么地
金相村这个地址在什么地方,我要处理点事
海南沉香产在哪里?
曾海燕全名多少笔画
证监会和银监会哪个好
一个是合约版,一个是全网通,不是双4G么
谁有诈金花的绝巧,技巧?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?