![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Trotil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
Чему будет равна переменная r
при x2 = 3, x1 = 1, y2 = 10, y1=5 ?
при типах double и int? Результаты: VS: double и int 'r' равно 50. gcc: int = 50, double = 29! gcc под MIPS: int = 35, double = 29. Вопрос: чему это выражение должно быть равно по стандарту? (могу расписать, как были получены компилятором эти результаты) Это сообщение отредактировал(а) Trotil - 6.4.2010, 09:24 |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
Trotil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
Я думаю, что 29 есть нарушение (независимо от неопределенностей): ведь это 2*2 + 5*5, а по правилам скобки имеют наибольший приоритет, поэтому после действий в скобках t не должно меняться и выделенные жирным множители (t=x2-x1)*t + (t=y2-y1)*t должны быть одинаковыми.
|
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Trotil
Заходим, читаем
единственная гарантия, которая дается это то, что программа будет скомпилирована. А Undefined Behavior это вообще кошмар...повезет, если компилятор не отформатирует компьютер ![]() |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
По правилам скобки определяют как компилятор будет понимать записанное выражение. Но они никак не влияют на то, в каком порядке компилятор будет это выражение вычислять. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |