在论坛上提问之前,我尝试自己测试一下,但我的简单代码来测试它似乎不起作用。
#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 条件?或者我的语法不正确?
您需要以不同的方式编写测试代码:
if (number==1 || number==2 || number==3) {
cout << "Your number was 1, 2, or 3." << endl;
}
else if (number==4 || number==5 || number==6) {
cout << "Your number was 4, 5, or 6." << endl;
}
else {
cout << "Your number was above 6." << endl;
}
按照你的做法,第一个条件被解释为好像是这样写的
if ( (number == 1) || 2 || 3 ) {
逻辑或运算符 (||
) 被定义为如果左侧为 true 或左侧为 false 而右侧为 true 则计算为 true 值。自从2
是一个真值(就像3
),无论 的值如何,表达式的计算结果都为 truenumber
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)