關係運算子

關係運算子檢查兩個運算元之間的特定關係是否為真。結果評估為 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. */