*p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1;
(*p)++ 先去指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2
*++p 先将指针p自增1(此时指向数组第二个元素),* 操作再取出该值
++*p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
#include <stdio.h>
int main( )
{
int a[5]={1,2,3,4,5},*p; p=a;
printf("%d,",*(p+2)); //3;p+2不改变p的地址,p指向a[0]
printf("%d,",*++p); //2;p的地址自增1,然后取值;此时p指向a[1]
printf("%d,",*p++); //2;先执行后加1,先输出 2 ,然后p指向p[2]
printf("%d,",*++p); //4; 自增输出,此时指向p[3]
printf("%d,",*++p); //5; 自增输出,此时指向p[4]
printf("%d,",(*p)++); //5; 取值后加1,输出p[4]后加1,此时p指的值为 6
printf("%d",++*p); //7;自增输出
return 0;
}