
int a[5]={1,2,3,4,5};
int *p = a;
*p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1;
cout << *p++; // 结果为 1
cout <<(*p++); // 1
执行后a[5] = {1,2,3,4,5} //下面两种情况相同
(*p)++ 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
cout << (*p)++; // 1
cout <<((*p)++) //2
执行后a[5] = {2,2,3,4,5}++*p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
cout <<++*p; // 2
cout <<(++*p) //2
执行后 a[5] = {2,2,3,4,5}
前三个都是先取出p指向的数值
*++p 先将指针p自增1(此时指向数组第二个元素),* 操作再取出该值
cout << *++p; // 2
cout <<(*++p) //2 注意:上面的每条cout输出,要单独输出才能得到后面的结果。