數學寫法 1 ≤ a ≤ 10 在 C 中**不成立**,會被解析為 (1 <= a) <= 10。
int a = 20;
if (1 <= a <= 10) // 1<=20 為真(1),1<=10 為真 → 進入分支!
printf("in range\n");
else
printf("out of range\n");
輸出:in range (明顯錯誤,20 不在 1~10 內)。
if (1 <= a && a <= 10) // 邏輯與連接兩個獨立比較
printf("in range\n");
<= 左結合。1 <= a 產生 int 結果 (0 或 1)。1 <= 10 恆真。1 <= a <= 10 正確語義。&& 連接。