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

C語言運算子優先序與結合性完整表 (15 級)

     編輯:C 語言問答

優先序表 (高→低)

級運算子說明結合性
1() [] -> .函數呼叫、陣列索引、成員存取左→右
2! ~ ++ -- + - * & (type) sizeof單目運算子 (後置 ++/-- 在級 1)右→左
3* / %乘除模左→右
4+ -加減左→右
5<< >>位移左→右
6< <= > >=關係比較左→右
7== !=相等比較左→右
8&位元 AND左→右
9^位元 XOR左→右
10|位元 OR左→右
11&&邏輯 AND左→右
12||邏輯 OR左→右
13?:條件運算子右→左
14= += -= *= /= %= &= ^= |= <<= >>=賦值及複合賦值右→左
15,逗號運算子左→右

位元運算子插入位置確認

& (級 8) < == (級 7) → **位元 AND 優先於相等比較**
^ (級 9) < & (級 8)
| (級 10) < ^ (級 9)
&& (級 11) < || (級 12) < ?: (級 13)

經典陷阱範例

if (a & 1 == 0)   // 錯誤:解析為 a & (1 == 0) → a & 0
if ((a & 1) == 0) // 正確:需加括號
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved