ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
953146 Топик полностью
evgeniy1294 (16.10.2019 11:46, просмотров: 156) ответил fk0 на Потому, что у тебя 32-битная платформа и все вычисления приводятся к int, если имеют более "узкий" тип. На 16-битной такой код прокатил бы.
Компилер создаёт в стеке временную переменную для хранения результата вычитания и последующего сравнения. Выбор её типа идёт на откуп компилеру, который выберет int или unsigned int - зависит от того какая арифметика используется. Поэтому можно использовать приведение типа или просто самому создать переменную tmp