| 運算子 | 含義 | 範例 (a=10, b=5) | 結果 |
|---|---|---|---|
== | 等於 | a == b | 0 (假) |
!= | 不等於 | a != b | 1 (真) |
> | 大於 | a > b | 1 (真) |
< | 小於 | a < b | 0 (假) |
>= | 大於等於 | a >= b | 1 (真) |
<= | 小於等於 | a <= b | 0 (假) |
if 語句中檢測變數 a 與 0 的關係
int a = -5; // 測試值
if (a != 0) printf("a 不等於 0\n"); // 真
if (a > 0) printf("a 大於 0\n"); // 假
if (a >= 0) printf("a 大於等於 0\n"); // 假
if (a < 0) printf("a 小於 0\n"); // 真
if (a <= 0) printf("a 小於等於 0\n"); // 真
= (賦值) 與 == (比較):
if (a = 0) // 錯誤!賦值 a=0,表達式值為 0 (假),if 不執行,且 a 被改為 0
if (a == 0) // 正確!比較 a 是否為 0
// 防禦性寫法:if (0 == a) 誤寫成 = 會編譯報錯
float x = 0.1f + 0.2f; // 0.30000001
if (x == 0.3f) // 可能為假!
// 正確:比較絕對差值是否小於極小值 EPSILON
const float EPS = 1e-6;
if (fabs(x - 0.3f) < EPS) ...
&&, ||)。
a + b > c * d // 等價於 (a+b) > (c*d)
a > b && c < d // 等價於 (a>b) && (c
0 < a < 10 在 C 中合法但**邏輯錯誤** (先算 0 得 0/1,再比較 < 10 恆真)。正確寫法:(0 < a) && (a < 10)。bool 關鍵字 (C99 <stdbool.h> 提供 bool, true, false)。int)。if, while, for 條件判斷:非 0 為真,0 為假。牢記 != (不等於)、> (大於)、>= (大於等於) 三個符號組合。善用括號明確優先級,警惕浮點數比較與賦值/比較混淆。