А машина 16-разрядная? Все таки %d предполагает указатель на int, а на 32 и 64 разрядных системах int обычно 32-битный, поэтому при считывании третьего числа его старшие биты попадут во вторую переменную. Без оптимизации скорее всего отменяется выравнивание, и старшие биты второго числа попадают в первую переменную, но детали могут зависеть от порядка в котором объявлены переменные.
no subject
Date: 2012-03-21 03:11 am (UTC)