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

例二输出结果说明:

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

例五输出表明:

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

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

(1)

#include <iostream>


using namespace std;


int main() {

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

}

输出结果:0

(2)

#include <iostream>



using namespace std;


int main() {

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

}

输出结果:10

(3)

#include <iostream>


using namespace std;


int main() {

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

}

输出结果:10

(4)

#include <iostream>


using namespace std;


int main() {

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

}

输出结果:1

(5)

#include <iostream>




using namespace std;




int main() {


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


}

输出:10

发布了93 篇原创文章 · 获赞 8 · 访问量 4万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览