#include <iostream.h>
int main() {
int choice;
cin>>choice;
if (1<=choice<=3) cout<<"good";
else cout<<"bad";
return 0;
}
如何评估bool表达式?这个表达式等于
if ((1<=choice)||(choice<=3))
答案 0 :(得分:3)
if (1<=choice<=3) cout<<"good";
就像写作:
if ((1<=choice)<=3) cout<<"good";
总是满意,因为1<=choice
返回0或1(0是 false ,1是 true ),总是 <=3
。
你(可能)想做的是:
if(1 <= choice && choice <=3)
答案 1 :(得分:0)
(1<=choice<=3)
不等同于:
(1 <= choice || choice <= 3)
而是:
((1 <= choice) <= 3)
总是如此,因为int(1&lt; = choice)等于0或1
我认为你想要的是:
(1 <= choice && choice <= 3)
答案 2 :(得分:0)
你需要这个。
if (1<=choice && choice <=3) cout<<"good";