表達式:a || b && c
&& 優先級 高於 ||
等價於:a || (b && c)
b && c:b 和 c 均為真(非0)時結果為真a || ...:a 為真,或上一步為真,整體為真a 為真,b && c 不會被計算| a | b | c | b&&c | a||(b&&c) |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
「a 為真,或者 (b 且 c 同時為真)」
非「a 和 b 或者 c」(那需要寫成 (a || b) && c 或 (a && c) || (b && c) 視具體邏輯)
// 清晰表達意圖,避免誤讀
if (a || (b && c)) { ... }
// 或
bool bc = b && c;
if (a || bc) { ... }