在论坛上提问之前,我尝试自己对此进行测试,但我用于测试的简单代码似乎不起作用。
#include <iostream>
using namespace std;
int main() {
cout << "Enter int: ";
int number;
cin >> number;
if (number==1||2||3) {
cout << "Your number was 1, 2, or 3." << endl;
}
else if (number==4||5||6) {
cout << "Your number was 4, 5, or 6." << endl;
}
else {
cout << "Your number was above 6." << endl;
}
return 0;
}
它总是返回第一个条件。我的问题是,是否有可能有超过 2 个 OR 条件?还是我的语法不正确?
原文由 user1116768 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要以不同的方式编写测试代码:
你这样做的方式,第一个条件被解释为就好像它是这样写的
逻辑或运算符 (
||
) 被定义为在左侧为真或左侧为假而右侧为真时评估为真值。由于2
是一个真值(如3
),无论number
的值如何,表达式的计算结果都为真。