【问题标题】:How i got the answer 24?我怎么得到答案 24?
【发布时间】:2013-09-24 14:14:58
【问题描述】:

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

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

有些学生说答案是 22,有些学生说是 23。 但是当我做这个程序时,我得到的答案是 24。 现在我很困惑。 请帮帮我

【问题讨论】:

    标签: operator-keyword increment prefix


    【解决方案1】:

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

    a= 10

    使用 ++a 在访问 a 时递增,而 a++ 访问然后在返回 a 后递增。

    因此 b = 11 + 12 = 23

    这可能对您有所帮助,尽管某些语言似乎会产生不同的结果..http://www.geekinterview.com/question_details/62782

    编辑:

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

    【讨论】:

      猜你喜欢
      • 2019-04-21
      • 2021-10-10
      • 1970-01-01
      • 2015-05-26
      • 2018-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多