一個(gè)表達(dá)式可以包含多個(gè)運(yùn)算符。在這種情況下,運(yùn)算符的優(yōu)先級(jí)決定表達(dá)式的哪部分被處理為每個(gè)運(yùn)算符的操作數(shù)。
推薦:《c語(yǔ)言教程》
如果一個(gè)表達(dá)式中的兩個(gè)操作數(shù)具有相同的優(yōu)先級(jí),那么它們的結(jié)合律(associativity)決定它們的組合方式是從左到右或是從右到左。
所有 C 語(yǔ)言運(yùn)算符的優(yōu)先級(jí)和結(jié)合律:
優(yōu)先級(jí) | 運(yùn)算符 | 結(jié)合律 | |
---|---|---|---|
1 | 后綴運(yùn)算符:[] () · -> ++ –(類(lèi)型名稱(chēng)){列表} | 從左到右 | |
2 | 一元運(yùn)算符:++ — ! ~ + – * & sizeof_Alignof | 從右到左 | |
3 | 類(lèi)型轉(zhuǎn)換運(yùn)算符:(類(lèi)型名稱(chēng)) | 從右到左 | |
4 | 乘除法運(yùn)算符:* / % | 從左到右 | |
5 | 加減法運(yùn)算符:+ – | 從左到右 | |
6 | 移位運(yùn)算符:<< >> | 從左到右 | |
7 | 關(guān)系運(yùn)算符:<<= >>= | 從左到右 | |
8 | 相等運(yùn)算符:== != | 從左到右 | |
9 | 位運(yùn)算符 AND:& | 從左到右 | |
10 | 位運(yùn)算符 XOR:^ | 從左到右 | |
11 | 位運(yùn)算符 OR:| | 從左到右 | |
12 | 邏輯運(yùn)算符 AND:&& | 從左到右 | |
13 | 邏輯運(yùn)算符 OR:|| | 從左到右 | |
14 | 條件運(yùn)算符:?: | 從右到左 | |
15 | 賦值運(yùn)算符: = += -= *= /= %= &= ^= |= <<= >>= |
從右到左 | |
16 | 逗號(hào)運(yùn)算符:, | 從左到右 |