问题描述
我正在尝试编写一个循环,该循环将重复直到用户输入正确的选择之一(1 或 0).出于某种原因,当我编写如下循环时,它会创建一个无限循环.
I am attempting to write a loop that will repeat until the user enters one of the correct choices (either 1 or 0). For some reason when I have the loop written as below it creates an infinite loop.
我打算让循环只在 control is not 0 OR not 1 时执行,但由于某种原因,它总是会执行并变成无限循环.
I am intending for the loop to only execute while control is not 0 OR not 1, but for some reason it will always execute and becomes an infinite loop.
cout<<"Please enter 1 for another customer or 0 to quit : ";
cin>>control;
while ((control != 0 )|| (control != 1))
{
cout<<"Invalid Entry! Please enter a 1 to enter another customer or 0 to quit: ";
cin>>control;
}
我将其更改为 while control 小于 0 或大于 1,这可行,但我仍然对为什么另一个循环不起作用感到困惑.
I changed it to be while control less than 0 OR greater than 1, which works but I am still confused as to why the other loop is not working.
推荐答案
你必须使用 &&操作员.
You have to use && operator.
while ((control != 0 ) && (control != 1))
这篇关于C++无限循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!