С/C++. Почему не сразу выводит в stdout?
В начале вызываем system("stty raw"); (работоспособность в windows не проверялась).
Или используйте curses:#include <curses.h>

int main(void)
{
    initscr();
    cbreak();
    timeout(-1);

    char ch;
    while ((ch = getch()) != '\n') {
        printf("%c", ch);
        fflush(stdout);
    }

    endwin();
    return 0;
}
Вроде где-то видел опцию синхронизации потоков консоли.
Типа en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio ?
Вы точно C-компилируете?