Perché? Il programma, dopo l'else, non fa che chiamare, RICORSIVAMENTE, la funzione finche $n$ non diventa $1$.
A quel punto esegue la prima parte dell'if e POI torna da dove è stata chiamata.
Quindi se $n=100$, il programma chiama novantanove volte la funzione (e ovviamente scoppia prima
) prima di stampare qualcosa.
Si chiama "ricorsione" per questo.
Comunque segui il consiglio di vict85, simula quello che fa il programma con $n=4$ e osserva ...