Регистрация  Забыли пароль?
logo   Блоги рядом:  fialka, Українська..., maximxl

Ни о чем ;)

записки программиста

devblog-avatar2.jpg

Styx  25.02.2008 16:12:28

Кто прав?

Вспомнился, почему-то, известный вопрос с БОРа:

int i=5;

int x = ++i + ++i;

Чему равно x?

Долго не угорали споры, одни твердили "13", другие "14".

А все-таки?

C++: 14

PHP: 13

А давайте немножко перепишем.

int i=5;

int a=++i;

int b=++i;

int x = a + b;

В итоге, С++ даст 13, как и PHP.

Но все же, кто прав? :)

Комментариев: 4

 
Контрольное число

мама дарахая...

да-да, красиво :)

Разница результатов обусловлена тем, что С++ вычисляет результаты подвыражений после префиксного инкремента, а PHP - до.

В рамках каждого языка это правильно. Но по сути (imho), PHP делает более правильней, ибо у него результат не меняется после вынесения подвыражений в отдельные переменные.

А вы как считаете? :)

читайте этгара по "золотой жук" это из той серии