首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么这个do while循环没有在它应该结束的时候结束?

do while循环没有在它应该结束的时候结束的原因可能有以下几种:

  1. 循环条件错误:do while循环的结束依赖于循环条件的判断结果。如果循环条件判断错误,导致条件一直为真,循环就无法结束。需要检查循环条件的逻辑是否正确。
  2. 循环体内部逻辑错误:循环体内部的代码逻辑可能导致循环无法结束。例如,在循环体内没有对循环条件进行更新,导致循环条件一直为真,循环无法结束。需要检查循环体内部的代码逻辑是否正确,并确保循环条件能够在适当的时候变为假。
  3. 循环控制语句错误:在循环体内部可能存在错误的循环控制语句,导致循环无法正常结束。例如,使用了错误的跳出循环的语句或者循环嵌套导致循环无法正常退出。需要检查循环控制语句的使用是否正确。
  4. 外部因素干扰:循环的结束可能受到外部因素的干扰,导致循环无法按照预期结束。例如,循环体内部依赖于外部资源的状态,而外部资源的状态发生了变化,导致循环无法结束。需要检查是否有外部因素对循环的正常结束产生了影响。

总结起来,do while循环没有在应该结束的时候结束可能是由于循环条件错误、循环体内部逻辑错误、循环控制语句错误或外部因素干扰等原因导致的。需要仔细检查代码逻辑,确保循环条件能够在适当的时候变为假,循环体内部的代码逻辑正确,并排除外部因素对循环的影响。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【C语言初阶篇】 while 语句语法和注意事项 (详解版)

代码结果: 而这里和我们想象不大一样,continue作用不是说: 是跳过本次循环嘛?并不会结束循环! 那么应该输出是:1 2 3 4 6 7 8 9 嘛?...我们仔细看会发现原来continue结束时候下面的 i = i+1; 未执行导致循环调整循环部分 并未发生改变所以 i 一直等于4 导致造成死循环。...初始化部分 判断部分 调整循环部分 三个不都分别在不同地方所以导致出错! 那么有没有三个部分都写在一起? 这样就不容易出错了!所以我们又有了for循环语句完美的解决了这个问题!...结束之后 循环调整部分i=i+1;并没有继续+1,导致发生了死循环!...那么就没有whiledo while 循环更好一点语法出现了嘛? 当然有他就是 for 循环,一个比 while 更加安全循环

33910

Java漫谈5

为什么这么说呢,还是回到之前累加功能上,先不管任何编程语句,就仅仅对这个过程做一个简单地抽象,我从哪个数开始加,加到哪个数时候输出。...那么把这个过程再整理一下就是,我需要判断开始和结束点,剩下就交给循环解决。这其中,判断归判断语句管理,循环循环语句管理。...再细化一下,如果就是求从1+…+100,那么我们任务可以拆分判断什么时候开始,判断什么时候循环,判断什么时候结束三部分。再细一步,就是从1开始,经过不断循环,累加到100结束。...就以喝水为例,我其实更加关心是有没有喝饱这个状态,并不关心喝了几次,于是,用for语句就会出现上面的两个繁琐,而用while语句则会显得较为简洁,具体如下: //for循环描述 for(;;){...,那么肯定是看到饭想都不想就会先吃,然后再判断有没有吃饱,这个时候while循环就要变成do-while循环,因为do-whilewhile刚好相反,第一次时候不判断,直接执行。

69590

【C语言总集篇】分支与循环篇——从不会到会过程

没错,结果就是什么都不发生,但是大家应该都有过忘记密码体验,我们输错密码时系统会提示我们密码错误,我们能不能按照这个逻辑switch语句中表示出来呢?...不是吧,没有像我想象那样继续执行循环语句,反而跳过后面的语句直接进入判定了,这样a值永远不会发生变化,难怪刚才结果是程序并未结束,那如果我把a++移动到if语句前,结果又会发生什么样变化呢...可能这里有朋友就会问了,为什么你上面输入EOF没有用,这里我理解是EOF仅仅只是三个字符,这些字符被getchar一个一个识别后再一个一个打印出来,并没有任何附加功能,但是CTRL Z可以算是一个快捷键...for语句 1.for循环语句结构 开始for循环之前,我们先来探讨一个问题,为什么C语言中已经有while循环了,还要加入for循环呢?...{ 执行语句; 递进语句; } while (条件语句); 接下来我们看看do……while语句执行流程; 2.do……while循环执行流程 从这个流程图中我们可以看到,do……while语句跟

27910

Java基础知识-循环语句使用介绍(for、whiledo-while

这里最大原因就是continue使用,因为account==2时候就不会执行account++这个语句了,所以就不会有account==5条件成立时候了。...最后在给大家介绍一下do-while结构和使用方法: do-while 语句由关键字dowhile 组成,是循环语句中最典型“先循环再判断”流程控制结构,这个和其它2 个循环语句都不相同。...do-while 语句语法格式为: do{         循环体; }while(循环条件); 语法说明:do-while 语句中,循环体部分是重复执行代码部分,循环条件指循环成立条件,要求循环条件是...: 1.for一般是循环个数已知情况下使用 2.while一般是循环个数未知,且循环受到严格控制情况下使用。...3.do-while一般也是循环个数未知,但是while最大不同点在于,不管循环条件是什么,do-while都会至少执行一次。 最后在给大家用这三种循环举三个1+2+3+4+。。。

2.9K71

从0学Java(六)循环例子

重复执行语句(循环语句)可以多次执行其他语句,检查一个逻辑条件是否满足,只满足时候执行循环体。...后面紧跟语句或语句括号,就是循环体。 do-while循环while循环很像,唯一区别是我们循环体执行结束时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后再来判断条件。...与while循环相同是,条件满足时执行循环,条件不满足时结束循环。...; 这个循环需要执行多少次? 循环停下来时候,有没有输出最后0? 循环结束以后,count值是多少? 这个循环需要执行多少次?是不是数起来很头疼?...要是1万,十万呢,哈哈哈,这个时候有一个方法:如果要模拟运动一次很大次数循环,可以模拟较少循环次数,然后作为推断。

36040

如何编写bash脚本以便在进程死机时重新启动进程

问: 我有一个python脚本,它将检查队列并对每个元素执行操作: # checkqueue.py while True: check_queue() do_something() 我如何编写一个...大致如下伪代码(或者应该做一些类似 ps | grep 事情?)...UNIX中,有充分理由只能等待子进程。任何试图解决这个问题方法(ps解析、pgrep、存储PID等)都是有缺陷,其中存在漏洞。待后文分析。...." >&2 sleep 1 done 上面的bash代码一个until循环中运行procA。第一行启动procA并等待结束。当结束时,until检查其退出状态。...如果退出状态不是0,until将运行循环体,该循环STDERR上发出错误消息,并在 1 秒后重新启动循环(返回第 1 行)。 我们为什么要等一会儿?

16320

详解分支和循环结构(剖析if语句,switch语句,while循环,for循环do-while循环

循环结构 while循环 while(表达式) 语句; while语句具体执行流程: 首先上来就是执行判断表达式,表达式值为0,循环直接结束;表达式值不为0,则执⾏循环语句,语句执行完后再继续判断...do-while循环 一般形式: do 语句; while(表达式); do-while循环执行流程: do while循环中先执⾏图上“语句”,执行完语句,去执⾏“判断表达式”,...=0,则继续循环,执行循环语句;判断表达式结果==0,则循环结束。 所以 do while 语句中循环体是⾄少执行一次,这是 do while循环比较特殊地⽅。...0; } 这⾥并非必须使⽤ do while 语句,但是这个代码就比较适合使用 do while循环,因为num即使是0,也是1位数,要统计位数。...do-while循环break和continue do-while循环break和for,while非常相似。那continue呢?

15910

04-程序流程控制(下卷)

2.1.介绍 循环语句可以满足循环条件情况下,反复执行某一段代码,这段被重复执行代码被称为循环体语句,当反复执行这个循环体时,需要在合适时候循环判断条件修改为false,从而结束循环,否则循环将一直执行下去...循环体语句: 这个部分是循环体语句,也就是我们要多次做事情。 控制条件语句: 这个部分在一次循环结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中变量,使得循环合适时候结束。...:控制条件语句所控制那个变量,for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。...虽然没有goto语句可以增强程序安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步时候结束,现在就做不了这件事情。...因为和for循环是可以等价转换 [n3]不能单独使用 [n4]不能单独使用 [n5]结束整个循环 [n6]只退出本一次循环,后面的循环继续执行

25440

计算机小白成长历程——分支与循环(3)

循环语句分三类:while语句、for语句、do……while语句。今天我们要探讨是第一种while语句。...那废话不多说,我们一起来看看运行结果: 这个结果跟大家推测结果有出入吗?为什么会是这个结果呢?...不是吧,没有像我想象那样继续执行循环语句,反而跳过后面的语句直接进入判定了,这样a值永远不会发生变化,难怪刚才结果是程序并未结束,那如果我把a++移动到if语句前,结果又会发生什么样变化呢...可能这里有朋友就会问了,为什么你上面输入EOF没有用,这里我理解是EOF仅仅只是三个字符,这些字符被getchar一个一个识别后再一个一个打印出来,并没有任何附加功能,但是CTRL Z可以算是一个快捷键...今天内容到这里就结束了,可能会有朋友有疑惑,我们本章说while语句,为什么结尾提到这两个代码?它是有什么用吗?这两个代码具体作用,后面会随着我学习深入,第一时间与大家分享。

10220

从0学Java(五)do-while循环

后面紧跟语句或语句括号,就是循环体。 do-while循环while循环很像,唯一区别是我们循环体执行结束时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后再来判断条件。...与while循环相同是,条件满足时执行循环,条件不满足时结束循环。 ①do-while循环 案例:数位数,如果给你一串数字,让你通过编程,让计算机判断出这一串数字是几位数,你打算怎么写?...如: 输入:3452,输出:4 人看一眼就能看出来,这是4位数,但计算机是通过判断数范围来决定位数,但如果是128475753943828482.....让人数怎么办,这时候就得依靠计算机,因为计算机最擅长就是做算法...,但往往没有问题时候就会出现问题,如果是这一串数字是0呢,大家在这个代码上试一下。...代码运行起来会显示0,这显然是不对,0位数是1,那如果用do-while循环是不是就可以把问题解决掉,进入循环体之前不做判断,而是执行完一轮循环代码之后,再来检查循环条件是否满足,如果满足则继续下一轮循环

84530

笨办法学 Java(二)

while循环条件循环体之前,但是 do-while 循环循环体之前有关键字do,条件循环结束后,紧跟着右花括号。 (并且循环条件右括号后有一个分号,而while循环没有。)...任何你可以用while循环事情,你也可以用 do-while 循环(和稍微不同代码)做,反之亦然。 那么为什么 Java 开发者要费心制作 do-while 循环呢?...练习结束之前,我应该提到两件事: 因为变量newtotal第 18 行被声明(并定义),所以该变量范围仅限于 do-while 循环主体。...然后第 15 行开始一个非常庞大 do-while 循环,基本上包含了整个游戏,直到第 70 行才结束。向下滚动,你会看到这个循环会重复,只要total1和total2都小于 100。...第 20 行是一个包含人类回合 do-while 循环开始。它在第 36 行结束,所有第 20 行和第 36 行之间代码都会重复,只要人类没有掷出 1,只要人类继续选择再次掷骰子。

12410

可以大体看出你C语言水平十道题,挑战一下?

破解上述加密关键在于利用攻破strcpy()函数漏洞。所以用户向“passwd”缓存输入随机密码时候没有提前检查“passwd”容量是否足够。...程序结束后,所有这个程序分配内存都会自动被处理掉。但如果上面的代码处于一个“while循环”中,那将会导致严重内存泄漏问题!...4.free()函数 问:下面的程序会在用户输入’freeze’时候出问题,而’zebra’则不会,为什么?...修改while循环里“ptr”存储地址。...这个函数返回本地变量地址。因为本地变量生命周期就是“inc()”生命周期,所以inc结束后,使用本地变量会发生不好结果。

45610

【C语言】分支循环第二章

(1) printf("我没吃\n");//while后边条件满⾜,死循环打印我没吃 return 0; } 同样条件if 和whilewhile也是可以实现循环效果,但是为什么...dowhile循环执⾏流程: do while循环实例 屏幕上打印1~10值 #include int main() { int i = 1; do {...语句 循环执⾏过程中,如果某些状况发⽣时候,需要提前终⽌循环,这是⾮常常⻅现象。...⽤是永久终⽌循环,未来我们某个条件发⽣时候,不想再继续循环时候,就可以break 来完成。...然后把printf语句和i=i+1语句都跳过了,直接跳到判断语句中while(i<=10)这个语句中,i没有改变,下次进来继续continue造成死循环 代码调试观察: 五、 goto语句

9810

c语言从入门到实战——分支和循环

是10时候,也能打印青年 ,逻辑上是有问题,这个代码应该怎么写?...循环语句中 do while 语句使用最少,语法如下: do 语句; while(表达式); while 和 for 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环...do while 循环结束是要有分号 8.2 do while循环执行流程 do while 循环中先执行图上“语句”,执行完语句,去执行“判断表达式”,判断表达式结果是!...=0,则继续循环,执行循环语句;判断表达式结果==0,则循环结束。 所以 do while 语句中循环体是至少执行一次,这是 do while 循环比较特殊地方。...do while 语句,但是这个代码就比较适合使用 do while 循环,因为n即使是0,也是1位数,要统计位数

10010

第四节(基本程序控制)

●如何使用简单数组 ●如何使用for、whiledo... while循环多次执行语句 ●如何嵌套程序控制语句 一.数组:基本概念: 开始学习for语句之前,应该先了解一下数组基本概念。...注意,while语句实际上是没有初值部分和循环条件for语句,因此: for( ; 循环条件 ; ) 相当于 while (循环条件) 因此,for 语句中完成任何工作都能在while语句中完成。...do.. .while循环没有while循环和for循环使用频繁。 只有循环体中语句要至少被执行一次,才会使用do...while循环。...然后,程序将打印用户选择数字。 现在,你应该能理解该程序清单中大部分内容, 在后面将会扩展这个程序。 main()函数(第7~16行)中内容在前面都介绍过。...执行while循环之前必须初始化变量,并在while循环中递增变量。 7.嵌套语句数量是否有限制? 嵌套语句数量没有限制。 8.while语句是否可以嵌套在do . . . while语句中?

17010

【初学者入门C语言】之whiledo-while、break及continue语句(五)

如果满足条件表达式则执行循环体语句,不满足,则循环结束循环结束次数为0          2.实例                 1.题目 输出循环控制变量i值                ...do{                         循环体语句; }while(条件表达式); 先执行一次循环体内语句,计算条件表达式值,如果为真(非0),则接着执行循环体语句,以此类推。          ...2.易错点 1.与while语句和for语句都不同是,do-while是先执行一次循环体内语句,然后判断条件表达式。 2.do-whilewhile(条件表达式)后面必须加;。...也就是说啊,执行2都正常输出,到3时候,满足i%3==0,执行continue语句,然后后面的i++没有执行呀,也就是说i值到这里一直没有变,所以进入了死循环,下面介绍如何正确do-while使用...区别,如果循环语句次数是已知,常用for循环语句,如果是未知,常用whiledo-while语句。

60240

Shell 流程控制

// 不做任何事情 } sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else。...while循环可用于读取键盘信息。下面的例子中,输入信息被设置为变量 FILM,按结束循环。...until循环while循环处理方式上刚好相反。 一般while循环优于until循环,但在某些时候—也只是极少数情况下,until循环更加有用。...1 到 4 之间数字' ;; esac 输入不同内容,会有不同结果,例如: 输入 1 到 4 之间数字: 你输入数字为: 3 你选择了 3 跳出循环 循环过程中,有时候需要在未达到循环结束条件时强制跳出循环...永远不会被执行 esac:case语法和C family语言差别很大,需要一个esac(就是case反过来)作为结束标记,每个case分支用右圆括号,用两个分号表示break。

48430
领券