陷入'if'测试:另一个代码的一部分

时间:2016-05-24 08:24:17

标签: c++

以下是我之前要求优化的代码的一部分。这不是任何应用程序的一部分,只是试图在用户上下文方面做得更好。如何使用最少的代码使if子句工作Line 4,以便如果用户输入任何整数,则测试成功(我想仅使用if执行此操作)。你知道我正试图用长if条款来表达。

int n;
cin >>n;
if(n ==  (0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9))
// if n is integer
    cout<<"succeeded";  //Line 4
else
    cout<<"failed";

2 个答案:

答案 0 :(得分:6)

n ==  (0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9)

这并不代表您认为的含义。这个大的逻辑or链都会崩溃到true,所以你真的要检查n == 1

你可能只想要这个:

n >= 0 && n < 10

答案 1 :(得分:-1)

只需将n声明为整数变量即可。这样,如果用户输入任何其他内容,则根本不会读取输入或仅读取0。