如果声明具有多种条件

时间:2012-03-06 21:11:18

标签: c++ if-statement

我试图像这样形成一个if语句:

int myVariable = -1;
if (0 <= myVariable <= 99)
{
   // Do something
}

但是,如果我将-1分配给myVariable,这是int,那么if语句仍会评估为 true

我做错了什么?

1 个答案:

答案 0 :(得分:7)

这不是在C ++语法中说出你想要的正确方法。你想要:

int myVariable = -1;
if (0 <= myVariable && myVariable <= 99)
{
   // Do something
}

你写的内容如下: 1)评估0 <= myVariable,在您的示例中将为false(在此上下文中在C ++中转换为0) 2)然后将该结果(0)与&lt; = 99进行比较,因此C ++读取“0 <= 99”,这是真的,因此if语句为真。