表格
运算符 | 连接规则 |
() [] -> . | 从左往右 |
! ~ ++ + - * & sizeof | 从右往左(**重点) |
* / % | 从左往右 |
+ - | 从左往右 |
> > < < | 从左往右 |
< <= > >= | 从左往右 |
== != | 从左往右 |
& | 从左到右 |
^ | 从左到右 |
| | 从左到右 |
&& | 从左到右 |
?: | 从右往左 |
= += -= *= /= %= &= ^= |= <<= >>= | 从右到左(**重点) |
, | 从左到右 |
备注
- 表中的()代表着调用函数的运算符。此时的优先级可以理解为对于fun(a,b)这样的表达式,fun和()的关联强度。
- 单目运算符的+、-、&、*的优先级高于对应的双目运算符。
- 后置运算符的优先级高于前置运算符
关于下面表达式的两种解释:
*p++
//第一种:*和++的优先级相同,但是由于顺序是从右往左,所以p先和++进行相连。
//第二种:后置运算符比前置运算符的优先级高。