關係運算子
關係運算子檢查兩個運算元之間的特定關係是否為真。結果評估為 1(表示為真 )或 0(表示為假 )。此結果通常用於影響控制流(通過 if
,while
,for
),但也可以儲存在變數中。
等於“==”
檢查提供的運算元是否相等。
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. */