C语言运算符优先级表(由上至下,优先级依次递减)
运 算 符 | 结 合 性 |
() [] -> . | 自左向右 |
! ~ ++ -- - (type) * & sizeof | 自右至左 |
* / % | 自左向右 |
+ - | 自左向右 |
<< >> | 自左向右 |
< <= > >= | 自左向右 |
== != | 自左向右 |
& | 自左向右 |
^ | 自左向右 |
| | 自左向右 |
&& | 自左向右 |
|| | 自左向右 |
?: | 自右至左 |
assignments | 自右至左 |
, | 自左向右 |
优先级的顺序:
- 非真正意义上的运算符,数组下标,函数调用符,结构成员选择
- 单目运算符
! ~ ++ -- - (type) * & sizeof
- 双目运算符
1.算术运算符
2.移位运算符
3.关系运算符
4.逻辑运算符
4.三目运算符
5 赋值运算符
6.逗号运算符,