* p ++通常将1加到指针,然后再引用。 但是printf只是在取消引用后才使用该值,而指针先增大后又被取消引用。
#include<stdio.h>
int main()
{
int a[] = { 10,20,30 };
int *p = a;
printf("%d\n", *p++);//this makes p point at 20 but prints 10
printf("%d\n", *p);//prints 20
printf("%d\n", a[0]);//prints 10
}
有人可以解释为什么会这样吗?
预先感谢
答案 0 :(得分:6)