2018-04-16 创建人:Ruo_Xiao
邮箱:xclsoftware@163.com
- 二者优先级相同,都属于单目运算符,结合方向是***从右向左***。
- 栗子:注意,上面的每条cout输出,要单独输出才能得到后面的结果。
#include <string>
#include <iostream>
using namespace std;
int main()
{
int a[5]={1,2,3,4,5};
int *p = a;
//*p++ 先取指针p指向的值 (数组第一个元素1),再将指针p自增1;
cout << *p++<<endl; //1
cout <<(*p++)<<endl; //2
//(*p)++ 先去指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
cout << (*p)++<<endl; //1
cout <<((*p)++)<<endl; //2
//*++p 先将指针p自增1(此时指向数组第二个元素),* 操作再取出该值
cout << *++p<<endl; //2
cout <<(*++p)<<endl; //3
//++*p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)
cout <<++*p<<endl; //2
cout <<(++*p)<<endl; //3
cin.get();
return 0;
}
(SAW:Game Over!)