关于*p++,(*p)++,*++p,++*p
#include <iostream.h>
int main(void)
{
int a[5]={1,3,5,7,9};
int *p = a;
//*p++
cout<<*p++<<endl; //先取指针p指向的值(数组第一个元素1),再将指针p自增1; //1
cout<<*p<<endl; //现在指针指向数组第二个元素(a[1]),也就是3 //3
//(*p)++
cout<<(*p)++<<endl; //先取指针指向的值,再将该值自增1, //3
//由于是后辍,所以先输出3,在将该值增1,即a[1]=4
cout<<*p<<endl; //现在指针指向数组第二个元素a[1],也就是4 //4
//*++p
cout<<*++p<<endl; // 先将指针自增1,也就是a[2],再取该值,所以输出5 //5
cout<<*p<<endl; //指针现在指向数组第三个元素a[2],也就是5 //5
//++*p == ++(*p)
cout<<++*p<<endl; //先取指针指向的值a[2],后将该值自增1(即a[2]=6),输出6 //6
cout<<*p<<endl; //现在指针指向数组第三个元素a[2],也就是6 //6
for(int i = 0;i<5;++i){
cout<<"a["<<i<<"]= "<<a[i]<<endl;
}
return 0;
}