【发布时间】:2012-02-05 13:49:48
【问题描述】:
在论坛上提问之前,我尝试过自己测试,但我测试它的简单代码似乎不起作用。
#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