c语言运算符优先级的相关问题

#询问下运算符优先级问题

img


问下为什么这个操作是先取出p中的值,然后再让p指针指向下一个位置??
号的类型不是高于++这个类型吗?我的理解是应当先让p指向下一个位置,然后再用取出下一个位置的值。

按照优先级顺序来 应该是先 ++ 再 *
即你的表达式A等同于A= * (p++) 即如下:
tmp=p
p=p+1 至此完成了p++的计算
A= * tmp 至此完成了 * 的计算,符合优先级顺序
所以你看起来是取的原来的p的解引用值,因为这是后自增,所以是如上流程