c primer plus第294页

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

1个回答

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问