决定表达式计算顺序时,先看运算符优先级,优先级高的先计算。
优先级相同时才考虑结合性。
优先级相同的运算符的结合性必须一致。
【右结合举例】
=号为例:
a=b=c
先计算等号右侧的,等价于:
a=(b=c)
【*++p,++*p,*p++】
运算符优先级:
后自增>*(解引用)
*(解引用) = 前自增
*++p:
(解引用) = 前自增 考虑结合性,是右结合,所以相当于*(++p);
++*p
(解引用) = 前自增 考虑结合性,是右结合,所以相当于++(*p);
*p++
后自增>*(解引用) 不考虑结合性。相当于*(p++);