在一一個表達式中可能有多個不同的運算符結合起來,由於運算符的優先級別不一樣,可能會形成得到的結果不同。
優先級從上到下依次遞減,最上面具有最高的優先級,逗號操作符具有最低的優先級。
對於相同的優先級,按着結合順序計算。大多數計算是從左往右計算,但是有三個例外,是從右往左計算,分別是單目運算符,條件運算符,賦值運算符
基本的優先級別:
指針最先,單目運算符優於雙目運算符
先乘除,后加減
先算術運算,再移位運算,最后進行位運算
邏輯運算最后計算。
單目算術運算符:
邏輯非(!),按位取反(-)++,和--,間接尋址(*)和取地址符(&)等
雙目運算符:
乘除、整數取余和加減
關系運算:
等於,不等於,大於等於,小於等於
位運算:
按位與(&)
按位異或(~)
按位或(|)
邏輯運算:
邏輯與(&&)
邏輯或(||)
三目運算符(?:)
雙目運算
=、+=,-=,*=賦值運算符
順序求值運算符:
逗號運算符
總結:單目>雙目算術運算符>移位運算符>關系運算符>位運算符>邏輯運算符>三目運算符>雙目賦值運算>逗號運算符