C語言運算符優先級表
運算符優先級與結合性優先級 | 運算符 | 描述 | 結合性 |
1 | ++,-- | 后綴自增,自減 | 從左往右 |
() | 函數調用 | ||
[] | 數組下標 | ||
. | 結構體與聯合體訪問成員 | ||
-> | 結構體與聯合體通過指針訪問成員 | ||
(type){list} | 復合字面量(C99) | ||
2 | ++,-- | 前綴自增,自減 | 從右往左 |
+,- | 正,負 | ||
!,~ | 邏輯非與逐位非 | ||
(type) | 強制類型轉換 | ||
* | 解引用 | ||
& | 取址 | ||
sizeof | 獲取某個數據類型所占用空間字節數 | ||
_Alignof | 對齊要求(C11) | ||
3 | *,/,% | 乘法、除法及取余 | 從左往右 |
4 | +,- | 加法、減法 | |
5 | <<,>> | 逐位左移及右移 | |
6 | <,<=,>,>= | 小于,小于等于,大于,大于等于 | |
7 | ==,!= | 等于,不等于 | |
8 | & | 逐位與 | |
9 | ^ | 逐位異或 | |
10 | | | 逐位或 | |
11 | && | 邏輯與 | |
12 | || | 邏輯或 | |
13 | ?: | 三元條件 | 從右往左 |
14 | = | 簡單賦值 | |
+=,-= | 和,差賦值 | ||
*=,/=,%= | 積、商及取余賦值 | ||
<<=,>>= | 逐位左移,右移賦值 | ||
&=,^=,|= | 逐位與、異或及或賦值 | ||
15 | , | 逗號 | 從左往右 |