*p++是p指针后加1,取其所指单元的内容,所以第一个输出的是数组的第一个元素1;当此语句执行结束,p指针指向数组的第二个元素,(*p)++;为把第二个单元的元素值加1,于是第二单元的值变成4;当printf("*p=%d\n",*(++p); 语句执行时, ++p含义为先把指针从第二单元移至第三单元,再输出此单元的值,所以为结果为5.
先去p指针所指向地址里的内容,然后p往后移动一个整形的距离,也就是移动到了数组的下一个元素。
先取*P的值即a【0】 然后p指向a【1】 *p++ =a【1】
地址往后移,就是数组里面数的的下一个