C 運算符優先級繁多(15 級),死記硬背易忘。本文提供一套**順口溜+分組記憶法**,配合優先級表,讓你秒級回憶、寫代碼不加冗餘括號、讀代碼不懵圈。
圓下箭頭一頓號
非凡增減富強星地長
三乘除、四加減、五移位
千萬別把魚忘記,它在盛飯的廚子裡
小燈大燈燈燈不等
爸喂魚、舅疑惑、裸雞也疑惑
十三姨、十四父、十五逗、兜到底
| 口訣片段 | 運算符 | 級別 | 結合性 |
|---|---|---|---|
| 圓 | () 函數調用 | 1 | 左→右 |
| 下 | [] 下標訪問 | ||
| 箭頭 | -> 結構體指針成員 | ||
| 頓號 | . 結構體成員 | ||
| 非 | ! 邏輯非 | 2 | 右→左 |
| 凡 | ~ 按位取反 | ||
| 增減 | ++ -- 前綴/後綴 | ||
| 富 | + - 一元正/負 | ||
| 強 | (type) 強制轉換 | ||
| 星 | * 解引用 | ||
| 地 | & 取地址 | ||
| 長 | sizeof | ||
| 三乘除 | * / % | 3 | 左→右 |
| 四加減 | + - | 4 | 左→右 |
| 五移位 | << >> | 5 | 左→右 |
| 魚(餘) | % 求模 | 3 | 左→右 |
| 小燈 | < <= | 6 | 左→右 |
| 大燈 | > >= | ||
| 燈燈不等 | == != | 7 | 左→右 |
| 爸喂魚 | & 按位與 | 8 | 左→右 |
| 舅疑惑 | ^ 按位異或 | 9 | 左→右 |
| 裸雞也疑惑 | | 按位或 | 10 | 左→右 |
| (邏輯與) | && | 11 | 左→右 |
| (邏輯或) | || | 12 | 左→右 |
| 十三姨 | ?: 條件運算符 | 13 | 右→左 |
| 十四父 | = += -= *= /= %= &= ^= |= <<= >>= | 14 | 右→左 |
| 十五逗 | , 逗號運算符 | 15 | 左→右 |
a = b += c、a ? b : c = d。*p++ (后綴++ > *),++*p (前綴++ = *),&a[0] (= a)。gcc -Wparentheses 警告建議加括號的表達式。級 運算符 結合性 說明 1 () [] -> . L→R 后綴/基本 2 ! ~ ++ -- + - * & sizeof (type) R→L 一元 3 * / % L→R 乘除模 4 + - L→R 加減 5 << >> L→R 移位 6 < <= > >= L→R 關系 7 == != L→R 相等 8 & L→R 按位與 9 ^ L→R 按位異或 10 | L→R 按位或 11 && L→R 邏輯與 12 || L→R 邏輯或 13 ?: R→L 條件 14 = += -= *= /= %= &= ^= |= <<= >>= R→L 賦值 15 , L→R 逗號