我试图像这样形成一个if语句:
int myVariable = -1;
if (0 <= myVariable <= 99)
{
// Do something
}
但是,如果我将-1
分配给myVariable
,这是int
,那么if语句仍会评估为 true 。
我做错了什么?
答案 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语句为真。