首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言問答

C語言邏輯運算符優先級:a||b&&c 解析

     編輯:C 語言問答

運算符優先級與結合性

表達式:a || b && c

優先級規則

&& 優先級 高於 ||

等價於:a || (b && c)

語義解讀

  • 先計算 b && c:b 和 c 均為真(非0)時結果為真
  • 再計算 a || ...:a 為真,或上一步為真,整體為真
  • 短路求值:若 a 為真,b && c 不會被計算

真值表

abcb&&ca||(b&&c)
00000
00100
01000
01111
10001
10101
11001
11111

自然語言描述

「a 為真,或者 (b 且 c 同時為真)」

非「a 和 b 或者 c」(那需要寫成 (a || b) && c 或 (a && c) || (b && c) 視具體邏輯)

最佳實踐:明確加括號


// 清晰表達意圖,避免誤讀
if (a || (b && c)) { ... }
// 或
bool bc = b && c;
if (a || bc) { ... }
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved