递增/递减运算符与指针的优先级问题

前缀递增、前缀递减和解除引用运算符的优先级相同,以从右到左的方式进行结合。
后缀递增和后缀递减的优先级相同,但比前缀运算符的优先级稿,这两个运算符以从左到右的方式进行结合。
double arr[5]={21.1, 32.8, 23.4 , 45.2,37.4 ;}
double *pt =arr;// 指针指向数组的第一个元素 arr[0]=21.1
++pt; //指针指向第二个数组元素 arr[1]=32.8
double x=*++pt; //前缀从右面结合,先把pt指向位置加一,值到arr[2]=23.4,然后再解除引用 x=23.4
++*pt; //前缀从右向左结合,先解除引用,为23.4,然后再加一 则arr[2]=24.4
(*pt)++;//后缀优先级比解除引用优先级高,但是有括号,优先级最高。先算括号里的,解除引用 arr[2]=24.4,然后再加一
//则有arr[2]=25.4 pt依然指向arr[2]
x=*pt++;//后缀优先级高,先后缀,但是又是整个运算后指针位置加一,所以x=25.4,然后pt指向arr[3]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值