为什么这个想法在使用while循环。这是微不足道的?
我最近在阅读其他人的脚本时遇到过这个问题。一个简短的例子如下: 说,我们需要输入并存储在变种A和B,该方案如下:为什么这个想法在使用while循环。这是微不足道的?
int ok;
ok = false;
while(!ok){
//ask input for A
//ask input for B
ok = true;
}
我明白就是了,但为什么是必要的这个计划?我只能“请求A和B的输入”。
但为什么这个方案是必要的?
这是没有必要的。
我可以只有“询问A和B的输入”。
你当然可以。
但是,如果用户给你的输入没有用(例如:你问用户的年龄,他们键入“马”),那么你可能会想再次问。允许重新尝试输入通常是一个有用的功能。用于重复一段程序的规范控制结构是一个循环。
但是,您的示例程序无条件地设置了ok
,所以在这种情况下,循环确实没有用处。只有在输入确定之前必须传递某种形式的验证时,循环才有意义。
谢谢,这是我正在寻找的答案。 –
在循环体中有输入验证。我认为即使我不使用循环来允许重试功能,它也会在那里。现在我学会了保持这个循环的重要性。 –
当您省略的代码中没有检查时,但您在整个地方看到相同的构造时,则是复制&粘贴伪影。
有人有一段代码正在读取输入并验证它,然后将代码复制到其他地方,删除了验证位,并将其余部分保留原样。然后他们复制&将该代码粘贴到所有地方。
以我的经验,这经常发生。
不,我是一个编程新手,我正在审查的代码,我相信是优雅的杰作,否则我不会认真对待它,并问这样的问题....感谢您的建议。 –
让'ok'成为'bool'似乎更直观。 –
接受输入时可能有错误检查。检查循环体中是否有“continue”语句。 –
上面的代码与'do {...} while(false);'相同,''我想你忘记了包含代码的重要部分,例如if语句。 –