scanf("%d\n",&year);
означает: читать необязательные пробелы (любое количество), за которыми следует целое число (%d
), за которым следует любое количество пробелов (\n
).
Таким образом, после ввода [SPACE][TAB][ENTER]
функция потребляет эти 3 символа и все еще «застревает» в первом чтении пробела.
Затем вы набираете [SPACE][TAB]2000[ENTER]
, и функция использует эти 7 символов, присваивает 2000 к year
и застревает во втором чтении пробела.
Введите еще несколько [SPACE][TAB][ENTER]
, и этовсе еще застряли".
Наконец, введите [SPACE]"Z"[ENTER]
, чтобы функция использовала этот последний пробел, пока не достигнет "Z", который (вместе с [ENTER]
) остается неиспользованным во входном буфере.