在c++中使用关系运算符

Using relational operators in C++

本文关键字:关系 运算符 c++      更新时间:2023-10-16

我只是学习c++编程,我的问题是,我试图比较多个变量,不工作。我输入的是:if ( a > b > c) .

它不是这样工作的,因为第一个表达式a > b计算为布尔值,根据其真值将其转换为01(由于与c的比较)。然后尝试将其与c进行比较,这不是您想要的。使用

if ( (a > b) && (b > c) )

。这样计算两个布尔值的逻辑AND,如果都是true,则数学语句a > b > c为真(通过传递性)。

如果在所有警告都打开的情况下编译,编译器(可能)会警告你。至少g++在说:

警告:像'X<=Y<=Z'这样的比较没有它们的数学意义[-Wparentheses]

必须通过AND(&&)操作符

分隔两个条件
if ( (a>b) && (b > c) ){
   //code
}