我怎么得到答案24?

时间:2013-09-24 14:14:59

标签: operator-keyword increment prefix

我们在第一学期的考试中有一个问题。

int a = 10,b; b = ++ a + ++ a;

有些学生说答案是22,有些则是23。 但是当我完成程序时,我得到了答案为24。 现在我很困惑。  请帮帮我

1 个答案:

答案 0 :(得分:0)

就我而言,答案应该是23 ......

a = 10

使用++增加访问a + ++访问权限,然后在返回。

后递增

因此b = 11 + 12 = 23

这可能对你有所帮助,虽然看起来某些语言会产生不同的结果。http://www.geekinterview.com/question_details/62782

编辑:

似乎不同的编译器对操作的处理方式不同。理论上它应该是23,但是如果你的编译器在其他任何事情之前处理两个++操作(而不是像理论那样从左到右)那么你的答案就是 b = 12 + 12 = 24