![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.05.2012
Сообщений: 58
|
![]()
почему при выполнении этого кода
Код:
Код:
Щас попробовал запустить второй исходник в VC++6.0: у=20, х=11, как и должно быть, а в деве "уже 21, а не 20" Последний раз редактировалось Fatal Error; 28.06.2012 в 22:37. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 02.09.2011
Сообщений: 336
|
![]()
У каждого свое видение очередности выполнения операций, и этот каждый отражает это видение в реализации компилятора.
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 20.05.2012
Сообщений: 58
|
![]()
но ведь это нарушение правил плюсов!!!
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 02.09.2011
Сообщений: 336
|
![]()
Fatal Error, каких правил? Вы читали стандарт C++? Там об этом написано?
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
|
![]() |
![]() |
![]() |
#5 |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
![]() Код:
Или я не понял вопроса?
Сливочное масло Valio - компиляция как по маслу
|
![]() |
![]() |
![]() |
#6 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,865
|
![]() E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Нет гарантии, что результат будет 21, он может быть любым. Нельзя применять разрушающие операции над переменной и обращаться к значению переменной в пределах одной точки следования, так как это ведёт к неопределённому поведению.
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 20.05.2012
Сообщений: 58
|
![]() |
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
++ имеет высший приоритет чем + в выражениях.
Цитата:
![]() Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#10 |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
![]()
+ - приоритет 12.
++ - приоритет 15. Как видно ++ выполнится первым.
Сливочное масло Valio - компиляция как по маслу
|
![]() |
![]() |