版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cup160828/article/details/81043394
(1)#include <iostream>
using namespace std;
int main() {
int data[2]={0,10};
int *p=data;
*++p=1;
cout<<data[0]<<" "<<data[1]<<endl;
cout<<*p<<endl;
return 0;
using namespace std;
int main() {
int data[2]={0,10};
int *p=data;
*++p=1;
cout<<data[0]<<" "<<data[1]<<endl;
cout<<*p<<endl;
return 0;
}
输出结果:
0 1
1
(2)
#include <iostream>
using namespace std;
int main() {
int data[2]={0,10};
int *p=data;
*p++=1;
cout<<data[0]<<" "<<data[1]<<endl;
cout<<*p<<endl;
return 0;
}
输出结果:
1 10
10
解析:
后置++返回的是原对象的副本,并不会将其递增的结果返回
参考文献:
【1】C++ 递增运算符:前置++和后置++的区别 - CSDN博客 https://blog.csdn.net/misayaaaaa/article/details/62893822
【2】C++ 右结合律与左结合律详解 - CSDN博客 https://blog.csdn.net/misayaaaaa/article/details/62417326