运算符优先级自上而下,依次降低
()括号运算 []数组下标 ->结构体成员指针 .点运算符 这几个运算符同时出现,从左至右依次计算
!逻辑反 ~按位取反 ++自增 --自减 -负号 (type)类型强制转换 &取地址 *解地址 sizeof运算符 从右向左依次计算
* / % + - 四则取余运算 按照四则计算来进行,先计算* / %再计算+ -
>> << 移位运算符 从左向右依次计算
< <= > >= 关系运算符 从左向右依次计算
== != 关系运算符 从左向右依次计算
& 按位与 从左向右依次计算
^按位异或 从左向右依次计算
|按位或 从左向右依次计算
&&逻辑与 从左向右依次计算
||逻辑或 从左向右依次计算
?:三目运算符 从左向右依次计算
= *= /= %= -= += <<= >>= ^= |= &=赋值运算符 自右向左依次计算
,逗号 从左向右依次计算
总结:
前述运算符优先级最高
单目运算符次之
接下来是算术运算符
然后是移位运算符
紧跟着是关系运算符
后面是按位与 异或 或运算符
下面是逻辑与和或运算符
随后的是三目运算符
导数第二是赋值运算符=
最后是逗号运算符