基本优先级逻辑
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
基本的优先级需要记住:
指针最优,单目运算优于双目运算。如正负号。
先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 && 7等价于 (1 << (3 + 2))&&7.
逻辑运算最后计算。
基本原则:
- 指针 > 单目运算 > 双目运算 > 多目运算 > 赋值运算 > 逗号
- 双目运算符中,算术运算 > 比较运算 > 位移运算 > 位运算 > 逻辑运算
- 同级运算符中,单目运算、条件运算、赋值运算,运算顺序遵循从右至左,其余运算符从左至右。