C語言操作符優先級
優先級 |
運算符 |
含 義 |
要求運算 對象的個數 |
結合方向 |
1 |
() [] -> . |
圓括號 下標運算符 指向結構體成員運算符 結構體成員運算符 |
|
自左至右 |
2 |
! |
邏輯非運算符 |
1 (單目運算符) |
自右至左 |
~ |
按位取反運算符 |
|||
++ |
自增運算符 |
|||
-- |
自減運算符 |
|||
- |
負號運算符 |
|||
(類型) |
類型轉換運算符 |
|||
* |
指針運算符 |
|||
& |
地址與運算符 |
|||
sizeof |
長度運算符 |
|||
3 |
* / % |
乘法運算符 除法運算符 求余運算符 |
2 (雙目運算符) |
自左至右 |
4 |
+ - |
加法運算符 減法運算符 |
2 (雙目運算符) |
自左至右 |
5 |
<< >> |
左移運算符 右移運算符 |
2 (雙目運算符) |
|
6 |
< <= > >= |
關系運算符 |
2 (雙目運算符) |
自左至右 |
7 |
== != |
等於運算符 不等於運算符 |
2 (雙目運算符) |
自左至右 |
8 |
& |
按位與運算符 |
2 (雙目運算符) |
自左至右 |
9 |
^ |
按位異或運算符 |
2 (雙目運算符) |
自左至右 |
10 |
| |
按位或運算符 |
2 (雙目運算符) |
自左至右 |
11 |
&& |
邏輯與運算符 |
2 (雙目運算符) |
自左至右 |
12 |
|| |
邏輯或運算符 |
2 (雙目運算符) |
自左至右 |
13 |
? : |
條件運算符 |
3 (三目運算) |
自右至左 |
14 |
= += -= *= /= %= >>= <<= &= ^= |= |
賦值運算符 |
2 |
自右至左 |
15 |
, |
逗號運算符 |
|
自左至右 |
運算符優先級記憶方法:
