作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
> var; } 它不起作用,我的循环变得不可-6ren">
我的代码中有一个循环,如下所示:
string var = ""
while (var != "q" || var != "Q")
{
...
cin >> var;
}
它不起作用,我的循环变得不可阻挡。但是,如果我将代码更改为:
while (var != "q")
或者这个:
while (var == "q" || var == "Q")
它会起作用的。我做错了什么?
最佳答案
while (var != "q" || var != "Q")
用简单的英语写成:While var
is not equal to q
or var
is not equal to Q
运行这个循环。
这将始终返回 true,因为 var
将始终不是 q
或 Q
(不能同时是两者)。
您的其他条件之所以有效,是因为它们检查的是正确的东西。
while (var != "q")
当 var
不等于 q
时运行此循环。
while (var == "q" || var == "Q")
当 var
等于 q
或 var
等于 Q
时运行此循环。
您要查找的条件是使用 and
运算符。
while(var != 'q' && var != 'Q')
虽然 var
不等于 q
且 var
不等于 Q
运行此循环。如果 var
转到 q
或 Q
,循环将退出。
关于C++ "OR"条件被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43190903/
我是一名优秀的程序员,十分优秀!