> var; } 它不起作用,我的循环变得不可-6ren">
gpt4 book ai didi

C++ "OR"条件被忽略

转载 作者:行者123 更新时间:2023-11-30 01:08:07 25 4
gpt4 key购买 nike

我的代码中有一个循环,如下所示:

string var = ""
while (var != "q" || var != "Q")
{
...
cin >> var;
}

它不起作用,我的循环变得不可阻挡。但是,如果我将代码更改为:

while (var != "q")

或者这个:

while (var == "q" || var == "Q") 

它会起作用的。我做错了什么?

enter image description here

最佳答案

while (var != "q" || var != "Q") 

用简单的英语写成:While var is not equal to q or var is not equal to Q 运行这个循环。

这将始终返回 true,因为 var 将始终不是 qQ(不能同时是两者)。

您的其他条件之所以有效,是因为它们检查的是正确的东西。

while (var != "q")

var 不等于 q 时运行此循环。

while (var == "q" || var == "Q") 

var 等于 qvar 等于 Q 时运行此循环。

您要查找的条件是使用 and 运算符。

while(var != 'q' && var != 'Q')

虽然 var 不等于 qvar 不等于 Q 运行此循环。如果 var 转到 qQ,循环将退出。

关于C++ "OR"条件被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43190903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com