辨析*p++,*(p++),*(++p),++(*p),*(p--),*(--p)

1、 *p++

由于++和* 同优先级,结合方向自右向左,因此它等价于*(p++)。根据运算顺序,应该先引用p的值,再进行p++。所以先实现*p的运算,再使p自增1。

2、 *(p++)与 * (++p)作用是否相同?

不相同。
若p=a(即p=&a[0])
*(p++)先取 *p的值,再使p加1,则得到a[0]的值。
*(++p)先使p加1,再取 *p,则得到a[1]的值。

3、++(*p)

表示p所指向的元素值加1。
若p=a(即p=&a[0])。
则++(*p)相当于++a[0]。
若a[0]的初值为10,则执行完++(*p),a[0]的值为11.
注意:是元素a[0]的值加1,不是指针p的值加1.

4、*(p --)与 *(-- p)

*(p- -)先对p进行“ * ”运算(求p所指向元素的值),再使p自减。
*(- -p)先使p自减,进行“ * ”运算。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值