关系运算符

关系运算符检查两个操作数之间的特定关系是否为真。结果评估为 1(表示为 )或 0(表示为 )。此结果通常用于影响控制流(通过 ifwhilefor),但也可以存储在变量中。

等于“==”

检查提供的操作数是否相等。

1 == 0;         /* evaluates to 0. */
1 == 1;         /* evaluates to 1. */

int x = 5;
int y = 5;
int *xptr = &x, *yptr = &y;
xptr == yptr;   /* evaluates to 0, the operands hold different location addresses. */
*xptr == *yptr; /* evaluates to 1, the operands point at locations that hold the same value. */

注意:不应将此运算符与赋值运算符(=)混淆!

不等于“ !=”

检查提供的操作数是否不相等。

1 != 0;         /* evaluates to 1. */
1 != 1;         /* evaluates to 0. */

int x = 5;
int y = 5;
int *xptr = &x, *yptr = &y;
xptr != yptr;   /* evaluates to 1, the operands hold different location addresses. */
*xptr != *yptr; /* evaluates to 0, the operands point at locations that hold the same value. */

该运算符有效地将相反的结果返回到 equals(==)运算符的结果。

不是“!”

检查对象是否等于 0

! 也可以直接与变量一起使用,如下所示:

!someVal

这与以下效果相同:

someVal == 0

大于“>”

检查左手操作数的值是否大于右手操作数

5 > 4      /* evaluates to 1. */
4 > 5      /* evaluates to 0. */
4 > 4      /* evaluates to 0. */

小于“<”

检查左手操作数的值是否小于右手操作数

5 < 4      /* evaluates to 0. */
4 < 5      /* evaluates to 1. */
4 < 4      /* evaluates to 0. */

大于或等于“> =”

检查左手操作数是否与右操作数具有更大或相等的值。

5 >= 4      /* evaluates to 1. */
4 >= 5      /* evaluates to 0. */
4 >= 4      /* evaluates to 1. */

小于或等于“<=”

检查左手操作数是否与右操作数的值相等或相等。

5 <= 4      /* evaluates to 0. */
4 <= 5      /* evaluates to 1. */
4 <= 4      /* evaluates to 1. */