为什么 *p++ 先取消引用指针然后递增指针地址?

Why *p++ dereferences a pointer first and then increments pointer adress?

C 运算符优先级图表如下所示:

为什么 post increment/decrement 在列表中排在第一位,但 *p++ 导致首先取消引用指针然后递增它指向的地址?

*p++ 解析为 *(p++).

p++的值是p(副作用是递增的p),所以*p++的值与[=17的值相同=].

除了副作用,*p*p++ 完全相同。

整数也会发生完全相同的事情:

int n = 6;
printf("%d\n", 7 * n);
printf("%d\n", 7 * n++); // except for the side-effect same value as above