马振宇 2019-08-21 16:29 采纳率: 0%
浏览 166

c primer plus第294页

total+=*start++
一元运算符*和++优先级相同,但结合律从右至左,所以start++先求值,然后才是*start。也就是说,指针start先递增后指向,使用后缀形式(即start++而不是++start)意味着先把指针指向位置上的值加到total上,然后再递增指针。如果使用*++start,顺序则反过来,先递增指针,再使用指针指向位置上的值。如果使用(*start)++,则先使用start指向位置上的值,再递增该值,而不是递增指针。这样,指针将一直指向同一个位置,但是该位置上的值发生了变化。虽然*start++比较常用,但是*(start++)这样写更清楚。
问题:感觉第一个句号前面说的和后面的意思不一致啊,哪位大神能给解释一下(我理解第一句话的意思是先start+1,然后*(start+1),然后再加到total上),这和后面说的不一样啊?迷糊了。

  • 写回答

2条回答 默认 最新

  • 马振宇 2019-08-21 16:31
    关注

    感觉前后矛盾,不知道怎么理解

    评论

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功