秋风带不走的殇 发表于 2021-1-21 15:48:10

自增自减运算符运算

int i=8,s;
s=++i;
结果s=9,这个好理解,
但当s=(++i)+(++i);时。
运算结果为20。
不应该是9+10=19么?

心驰神往 发表于 2021-1-21 15:52:46

你看一下这个https://fishc.com.cn/forum.php?mod=viewthread&tid=188583

jackz007 发表于 2021-1-21 15:56:32

本帖最后由 jackz007 于 2021-1-21 15:59 编辑

      这个也好理解,先完成所有的 ++ i,然后再 s = i + i 其结果不就是 20 了?
      我用 VC 和 gcc 都分别试过了,结果出奇的一致,都是 20。

秋风带不走的殇 发表于 2021-1-21 16:03:29

jackz007 发表于 2021-1-21 15:56
这个也好理解,先完成所有的 ++ i,然后再 s = i + i 其结果不就是 20 了?
      我用 VC 和...

意思是我最后还要再+1,对么?

jackz007 发表于 2021-1-21 16:18:33

秋风带不走的殇 发表于 2021-1-21 16:03
意思是我最后还要再+1,对么?

       两个 ++ i 之后,i 的值是多少?
页: [1]
查看完整版本: 自增自减运算符运算