//C语言指针*p++、*(p++)、*++p、*(++p)、(*p)++、++(*p)对比实例 #includeint main(){ int a[] = {10,20,30,40,50}; int *p; p = a; printf("*p:%dn",*p);//初始位置是指向a[0] printf("*p++:%dn",*p++);//此时P还是指向a[0],输出完a[0]后指针地址自加一指向下一个位置(也就是a[1]的位置) printf("*(p++):%dn",*(p++));//此时指向a[1]。输出完a[1]后指针地址自加一指向下一个位置(也就是a[2]的位置) printf("*++p:%dn",*++p);//指针此时指向a[2]的位置。指针地址先自加一指向下一个位置(也就是a[3]的位置)再输出 printf("*(++p):%dn",*(++p));//指针此时指向a[3]的位置。指针地址先自加一指向下一个位置(也就是a[4]的位置)再输出 printf("(*p)++:%dn",(*p)++);//指针此时指向a[4]的位置。先输出a[4]后再对这个地址的值进行自加一(也就是a[4]的值从50变成51)。 printf("++(*p):%dn",++(*p));//此时a[4]的值已经是51了。先对a[4]的值自加一(也就是a[4]的值从51变成52)再输出。 return 0; }



