如果声明具有多种条件

Sig*_*101 1 c++ if-statement

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

int myVariable = -1;
if (0 <= myVariable <= 99)
{
   // Do something
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将if语句分配-1myVariableint,那么if语句的评估结果为true.

我究竟做错了什么 ?

Ole*_*ksi 7

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

int myVariable = -1;
if (0 <= myVariable && myVariable <= 99)
{
   // Do something
}
Run Code Online (Sandbox Code Playgroud)

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