2013-09-24 1 views
-2

у нас есть вопрос в нашем первом срочном экзамене.Как я получил ответ 24?

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

некоторые ученики сказали, что ответ 22, некоторые другие 23. , но когда я сделал программу, я получил ответ как 24. Теперь я в замешательстве. Пожалуйста, помогите мне

ответ

0

Ответ должен быть 23, насколько я понимаю ...

а = 10

с ++ в инкрементирования на доступ к по сравнению с A ++ доступа, а затем увеличивающиеся после возвращая a.

поэтому б = 11 + 12 = 23

это может быть полезно для вас, хотя, кажется, что некоторые languagues может производить различные результаты .. http://www.geekinterview.com/question_details/62782

EDIT:

Кажется, как будто разные компиляторы обрабатывают операции по-разному. Теоретически это должно быть 23, но если ваш компилятор обрабатывает как ++ операции перед чем-либо еще (и не будет идти слева направо, как это было бы с теорией), тогда ваш ответ будет b = 12 + 12 = 24

 Смежные вопросы

  • Нет связанных вопросов^_^