getch() è bloccante, infatti la devi chiamare solo se kbhit() restituisce true (ovvero, sai che è già stato premuto un tasto e quindi sai che getch() non dovrà attendere).