Да колян прокололся... сначала присвоение потом вычитание. итого ничего... минуса впереди ставь.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
si
06 января 2004 г. 23:57
В ответ на:
Ся, что значит такая строка a=a--; ?
отправлено колян безпарольныи 06 января 2004 г. 23:40
Составить ответ
|||
Конференция
|||
Архив
Ответы
IMHO, то, что не работает - бага компилятора (или оптимизатора) (+)
—
smb
(07.01.2004 00:18, 176 байт)
ADS для ARM ассемблирует это выражение так... А кто еще так делает? Про Кейл я уже знаю :)
—
si
(07.01.2004 00:36, 90 байт)
CCS для 6xxx скомпилил (+)
—
SМ
(07.01.2004 00:43, 152 байт)
Похоже для не х86 платформы декремент откидывается. Дискиминация!!! :)
—
si
(07.01.2004 00:46,
пустое
)
Ответ: ИАР для MSP430 v2.21b-P1 делает правильно
—
_VAI
(07.01.2004 08:55, 31 байт)
Понятие "правильно" не определено... См. ниже.
—
Yuriy
(07.01.2004 09:32,
пустое
)
Так а как надо все-таки? Ведь если написать (+)
—
SМ
(07.01.2004 00:55, 913 байт)
Вообще-то само по себе выражение a = a--; бессмысленно. Поэтому не удивительно, что
—
Bill
(08.01.2004 11:26, 338 байт)
Так работает много компиляторов. Это скорее всего неопределенность стандарта
—
si
(07.01.2004 00:23,
пустое
)
Ага, она самая... (+)
—
SМ
(07.01.2004 00:37, 458 байт)
Да, именно так.
—
Yuriy
(07.01.2004 01:02, 394 байт)
Спасибо. Так что компилеры имеют право глючить как хотят как и в недавнем случае с переполнениями арифметическими.
—
SМ
(07.01.2004 01:08,
пустое
)
Ууу какое выражение :) Я человек простой, избегаю таких премудростей :)
—
si
(07.01.2004 00:43,
пустое
)
недогладел млин. долбаная смесь между а=а-1 и а-- ))))))))
—
колян безпарольныи
(07.01.2004 00:13,
пустое
)
пиши --a :)
—
si
(07.01.2004 00:17,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru