Prova a fare un trace manuale.

Tu inserisci il valore 1.

Entri nel WHILE ed hai sempre 1 e dal WHILE non esci fin quando il valore è -1, infatti tu dici che il programma si blocca... proprio per questo motivo, aggiungo io.