int a[5] = {1,5,3,4,5};
int *p = a;
printf("p = %p\n",p);
printf("++*p = %d\n",++*p);
printf("p = %p\n",p);
printf("*p = %d\n",*p);
经过运行,为什么最后*p = 2?p的值一直是a[0]的地址,为什么*p 不是 1呢?
int a[5] = {1,5,3,4,5};
int *p = a;
printf("p = %p\n",p);
printf("++*p = %d\n",++*p);
printf("p = %p\n",p);
printf("*p = %d\n",*p);
经过运行,为什么最后*p = 2?p的值一直是a[0]的地址,为什么*p 不是 1呢?
在++*p,对P解引用,得出来的是1,然后++是2,数组里边是{2,5,3,4,5},然后解引用出来是2