Как и @thejh, ваш поток, похоже, забуферирован. Данные еще не записаны в контролируемую последовательность.
Вместо того, чтобы возиться с настройкой буфера, вы можете вызвать fflush
после каждой записи, чтобы извлечь выгоду из буфера и по-прежнему принудительно использовать требуемое поведение / отображение.
printf( "Enter first integer\n" );
fflush( stdout );
scanf( "%d", &i1 );