C++ 为什么以下不等式在C++;?

C++ 为什么以下不等式在C++;?,c++,operators,inequality,relational-operators,C++,Operators,Inequality,Relational Operators,下面的代码看起来很琐碎。我不明白为什么它不起作用 float bound_min = +314.53f; float bound_max = +413.09f; float my_variable = -417.68f; if (bound_min <= my_variable <= bound_max) { printf("Why on earth is this returning True?"); } float-bound_-min=+314.53f

下面的代码看起来很琐碎。我不明白为什么它不起作用

float bound_min   = +314.53f;
float bound_max   = +413.09f;
float my_variable = -417.68f;

if (bound_min <= my_variable <= bound_max)
{
    printf("Why on earth is this returning True?");
}   
float-bound_-min=+314.53f;
浮动边界_max=+413.09f;
浮动my_变量=-417.68f;
如果(bound_min这就是发生的情况:
首先

bound\u min发生的情况如下:
首先


bound\u minif语句中的条件

if (bound_min <= my_variable <= bound_max)
因此,条件的最终值为
true

<>从C++ 17标准(8.9个关系运算符)

1关系运算符组从左到右


[示例:aif语句中的条件

if (bound_min <= my_variable <= bound_max)
因此,条件的最终值为
true

<>从C++ 17标准(8.9个关系运算符)

1关系运算符组从左到右


[示例:a
bound\u min您是否使用所有警告和调试信息(例如
g++-Wall-Wextra-g
with)编译了它?您是否阅读了???@t.niese那么什么是“正确”的方法来评估这个不等式并确保
my\u变量
在范围内?一旦应用了操作顺序,如果(bound_min有很多重复项:,为什么大多数主流语言不支持用于三向布尔比较的“xbound_min您是否使用所有警告和调试信息编译了它,例如
g++-Wall-Wextra-g
with?您是否阅读了???@t.niese那么“正确的”是什么计算这个不等式并确保
my_变量
在范围内的方法?一旦应用了操作顺序,
if(bound_min)有很多重复项:,为什么大多数主流语言不支持“xif (bound_min <= my_variable <= bound_max)
if ( ( bound_min <= my_variable ) <= bound_max)
if ( false  <= bound_max)
if ( 0 <= bound_max)
[Example: a<b<c means (a<b)<c and not (a<b)&&(b<c) —end example] .