结果怎么会是1,5呢?我觉得是1,3

int a[10]={1,3,5,7,11,13,17},*p=a;

printf("%d,",*p++);

printf("%d\n",++p);
代码如上:
p++是先取p,即1,先用后加,所以输出1。++p是先p自加再取*,不就是3吗

p++是指针的值++,不是将1做自加
指针加1,不指向数组的第2个元素了,不就是3了吗
再加1,指向5了
如果需要将1做自加,那需要这样写(*p)++

p是指针,p一开始指向a数组首地址,对应值为3;p++,++p 之后p指向a数组第三个元素,即对应值为5