以下是我之前要求优化的代码的一部分。这不是任何应用程序的一部分,只是试图在用户上下文方面做得更好。如何使用最少的代码使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";
答案 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。