C++指针自加的一个小辨析

例二输出结果说明:

* 作为 指针取值 运算符,优先级低于 后自增运算符。

例五输出表明:

* 作为指针取值运算符,虽然优先级和前自增运算符相等,但是根据自右向左的结合性,所以仍输出10。

参考文献:C++ 运算符的优先级和结合性 - CSDN博客 https://blog.csdn.net/lfb_2048/article/details/62040608

(1)

#include


using namespace std;


int main() {

int data[2]={0,10};
int *p=data;
cout<<*p< return 0;

}

输出结果:0

(2)

#include



using namespace std;


int main() {

int data[2]={0,10};
int *p=data;
*p++;
cout<<*p< return 0;

}

输出结果:10

(3)

#include


using namespace std;


int main() {

int data[2]={0,10};
int *p=data;
*(p++);
cout<<*p< return 0;

}

输出结果:10

(4)

#include


using namespace std;


int main() {

int data[2]={0,10};
int *p=data;
(*p)++;
cout<<*p< return 0;

}

输出结果:1

(5)

#include




using namespace std;




int main() {


int data[3]={0,10};
int *p=data;
*++p;
cout<<*p<return 0;


}

输出:10

你可能感兴趣的:(C++)