【发布时间】:2021-09-02 19:38:17
【问题描述】:
在论坛上提问之前,我尝试自己对此进行测试,但我用于测试的简单代码似乎不起作用。
#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) -
我想看到一个例子,即使有两个也可以,这永远不会。您对评估顺序有何期望,
if(2)会做什么? -
@MartinKristiansen 使用演绎技巧,你可能会猜到我想要输入 1、2 或 3 来返回第一个条件;输入 4、5 或 6 以返回第二个;并输入任何其他内容以返回第三个条件。与其抨击明显不熟悉 C++ 的人,不如建议一种更好的方法来编写我的代码。
标签: c++ conditional-statements