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

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

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

所以就一直跳不出循环。是死循环。

要知道,浮点的不是精确值,只可以说是近似值,它在内存中的存储方式和整形是不同的,在它的自加过程中,没有等于10,你可以把程序改成这样就看得清楚了

int i=0;

for(double x=01;x!=10;x+=01){

Systemoutprintln(x);

i++;

if(i==10){break;}

}

只要指定条件为 true 都执行语句块。

for (initialization; test; increment)

statements 参数

initialization 必选项。一个表达式。该表达式只在执行循环前被执行一次。

test 必选项。一个 Boolean 表达式。如果 test 是 true,则 statement 被执行。如果 test 是 false,则循环结束。

increment 可选项。一个表达式。在每次经过循环的最后执行该递增表达式。 statements 可选项。test 是 true 时,要执行的一个或多个语句。可以是复合语句。

说明 循环要执行确定的次数,通常使用 for 循环。注意,for循环要求必须知道循环次数,楼主的程序中for(;;)并不知道循环次数,也没有给出循环结束的条件,所以,要作出相应的修改才可以哦。

你的for语句后面少打了一个大括号!

你的程序还有其他问题:for循环改成这样试试

for(;end==1;i++)//在此之前的语句都没执行

{

printf("请输入你要猜的数字:");//for循环中也只执行了这句

scanf("%d",&guess);//这句为什么不停??

if(guess>num) printf("你输入的数大了");

if(guess<num) printf("你输入的数小了");

if(guess==num) {end=1;printf("猜对了,这个数就是%s,你猜了%d次!"),num,i;}

}

以上就是关于C++题,下面4个程序中,哪三个是死循环程序哪个不是死循环程序为什么全部的内容,包括:C++题,下面4个程序中,哪三个是死循环程序哪个不是死循环程序为什么、谁能帮我看下这个Java 程序 for循环 为什么是死循环啊for(double x=0.1;x!=1.0;x+=0.1)、求解释,一段c语言程序!出现死循环了!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10175573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存