Никак она не знает. Когда запускается код запроса пользовательских данных, то он так же включает механизм "эха", т.е. введённый символ так же отправляется на вывод, чтобы пользователь видел свой труд.
Во время выполнения программы так же можно тыкать в клаву, и эти данные уйдёт на ввод, просто мы не видим их на экране. Бывают даже программы, где перед запуском кода запроса данных от пользователя они не очищают буфер и весь тот мусор, что мы жамкали раньше попадает на вход.