優先級完整表 (高→低)
| 級 | 運算子 | 說明 | 結合 |
| 1 | () [] -> . | 函數調用、下標、成員訪問 | 左→右 |
| 2 | ! ~ ++ -- + - * & (type) sizeof | 單目運算子 | 右→左 |
| 3 | * / % | 乘除模 | 左→右 |
| 4 | + - | 加減 | 左→右 |
| 5 | << >> | 移位 | 左→右 |
| 6 | < <= > >= | 關係 | 左→右 |
| 7 | == != | 相等/不等 | 左→右 |
| 8 | & | 位元 AND | 左→右 |
| 9 | ^ | 位元 XOR | 左→右 |
| 10 | | | 位元 OR | 左→右 |
| 11 | && | 邏輯 AND | 左→右 |
| 12 | || | 邏輯 OR | 左→右 |
| 13 | ?: | 條件運算子 | 右→左 |
| 14 | = += -= *= /= %= <<= >>= &= ^= |= | 賦值 | 右→左 |
| 15 | , | 逗號運算子 | 左→右 |
易錯點 Top 5
a & b == c → a & (b == c) (位元 AND 優先級 **低於** 關係/相等)。應寫 (a & b) == c。
a == b || c == d → (a == b) || (c == d) (正確,邏輯 OR 低於相等)。
*p++ → *(p++) (後綴 ++ 最高,先取值再移動指針)。
sizeof int * p → (sizeof int) * p (sizeof 是單目,優先級高於乘法)。應寫 sizeof(int *p) 或 sizeof(int)*p。
a = b = c → a = (b = c) (賦值右結合,先算 b=c 再賦值給 a)。
優先級口訣 (修正版)
括號下標成員一,單目運算二不移;
乘除模三加減四,移位五關係六;
等於不等排第七,位與八異或九;
位或十邏輯與十一,邏輯或十二天;
條件十三賦值十四,逗號十五最低邊。
同級看結合方向,單目賦值條件右向左,
其餘皆是左向右,牢記心中不糊塗。