С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
#1

++N - C++

02.09.2009, 21:44. Просмотров 2381. Ответов 21
Метки нет (Все метки)

в чем отличие
++а от а++?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Yurii_74
paladin
280 / 180 / 3
Регистрация: 25.02.2009
Сообщений: 592
03.09.2009, 07:36 #16
Цитата Сообщение от pr1nc3 Посмотреть сообщение
З.Ы : на многих собеседованиях дают такие задачки и просят сказать ответ ->
a = 1;
b = 10;
c = a+++b;
чему равно с ??
Компилятор выдал 11. Как и ожидалось. Но для обычной человеческой логики это равносильно "казнить нельзя помиловать", и использование подобных конструкций без скобок мало кем одобряется.
0
Mozart
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
03.09.2009, 09:40 #17
мое мнение компиляор это может трактовать как
a++ + b; либо
a + ++b; если этот случай нигде не оговорен
0
kirill29
2056 / 1219 / 55
Регистрация: 01.02.2009
Сообщений: 2,842
03.09.2009, 10:27 #18
Автоматом компилятор делает так: a++ + b;
Если нужно так a + ++b, то пробелы придется ручками ставить.
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
03.09.2009, 15:23  [ТС] #19
Цитата Сообщение от novi4ok Посмотреть сообщение
давно не прикалывались?
не флуди ты тут.
0
pr1nc3
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 9
03.09.2009, 18:29 #20
Цитата Сообщение от Yurii_74 Посмотреть сообщение
Компилятор выдал 11. Как и ожидалось. Но для обычной человеческой логики это равносильно "казнить нельзя помиловать", и использование подобных конструкций без скобок мало кем одобряется.
в этом то и весь сок, что все зависит от версии компилятора ....
а такой вопрос с подковыркой очень даже популярен )) хоть это и быдло-код)
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
03.09.2009, 18:53 #21
Цитата Сообщение от pr1nc3 Посмотреть сообщение
в этом то и весь сок, что все зависит от версии компилятора ....
если что-либо зависит от версии компилятора, значит это обусловлено либо новой версией стандарта либо это ill-formed код, undefined или unspecified behavior
0
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,405
03.09.2009, 21:16 #22
Цитата Сообщение от pr1nc3 Посмотреть сообщение
в этом то и весь сок, что все зависит от версии компилятора ....
Нет здесь никакой зависимости от версии компилятора, равно как и undefined|unspecified behavior. Любой стандартный компилятор должен трактовать это выражение как с = a++ + b, и никак иначе; потому что иначе - компилятор не соответствует Стандарту языка и подлежит отправке прямиком в Корзину.
0
03.09.2009, 21:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.