C++运算符优先级

释放双眼,带上耳机,听听看~!

C++运算符优先级表
C++运算符优先级


1
2
3
4
5
6
7
8
9
10
11
12
13
14
1#include <iostream>
2using namespace std;
3int main()
4{
5    double arr[5] = {1.2, 2.3, 3.4, 4.5, 5.6};
6    double *p = arr;
7    cout << *p++ << '\n'; //1.2
8    cout << *p++<<'\n';  //2.3
9    cout << *p << '\n'; //3.4
10    cout << ++*p << '\n';  //4.4
11    cout << *++p << '\n'; //4.5
12}
13
14

*p++先取p++再*,但是p++先使用再++所以输出1.2

++*p先*p再++,*p=3.4 所以输出4.4

*++p先++p再* ,++p 为4.5的指针所以输出4.5

前缀递增、前缀递减和解除引用运算符的优先级相同,以从右到左的方式进行结合。
后缀递增和后缀递减的优先级相同,但比前缀运算符的优先级高,这两个运算符以从左到右的方式进行结合。

注意:指针递增和递减遵循指针算术规则。因此,如果pt执行某个数组的第一个元素,++pt将修改pt,使之指向第二个元素。

给TA打赏
共{{data.count}}人
人已打赏
安全技术

bootstrap栅格系统自定义列

2021-12-21 16:36:11

安全技术

从零搭建自己的SpringBoot后台框架(二十三)

2022-1-12 12:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索