为什么我的 do-while 循环在一次迭代后退出?

问题描述 投票:0回答:3

这里是初学者程序员:

我正在尝试格式化“do while循环”,以便如果用户输入0-4范围之外的错误数字,那么我的程序应该要求用户输入正确范围内的数字。一旦满足参数,我希望我的代码继续运行“if statements”。我错过了什么?

请参阅下面我的代码。my code

请看我上传的图片。enter image description here

arrays c loops while-loop do-while
3个回答
0
投票
  1. break
    语句在
    scanf
    之后立即退出循环。删除它
  2. 检查
    scanf
    的结果,看数字是否读取正确。

0
投票

do while 循环将至少执行一次语句,然后检查条件。

因此,即使条件错误,在检查该条件之前也会至少执行一次。尝试使用 while 循环。


0
投票

我检查了你的代码,我对 while 条件有疑问,

while(userNum < 0 || userNum > 4)

如果您需要将输入限制在 0-4 之间,您的 while 条件将如下所示,

while(userNum > 0 || userNum < 4)

并且还从循环体中删除

break
语句,将
break
语句置于您必须

的条件下
© www.soinside.com 2019 - 2024. All rights reserved.