Non ho capito la condizione booleana che il carattere letto con getch() sia diverso da 13.

Perchè 13?
E poi, perchè nell'ultima posizione della stringa viene messo lo 0? E' l'equivalente del terminatore?