Originariamente inviato da spode
ah, sì? e come dovrei scriverlo? cosa c'è di male (me lo hanno già detto, ma voglio sapere come fai tu)?
Il main è una funzione particolare in quanto è la prima a venire eseguita all'avvio del programma. Richiamarla è ridondante e ti fa sprecare memoria inutilmente (hai presente come vengono chiamante le funzioni? Lo stack, il fare "push" ecc?[/QUOTE]

Se non vuoi far terminare il programma usa un ciclo all'interno del main.

Originariamente inviato da spode
perchè restituisce sempre vero? all'inizio n può essere 3 (n-1=2) e i parte da 1...
i = n - 1 è un ASSEGNAMENTO, non un confronto. Quello che hai scritto significa "assegna il valore di n - 1 a i". E poiché il C considera "vero" qualsiasi valore diverso da 0 (zero), quella i varrà sempre "VERO" a parte il caso in cui n vale 1. L'uguaglianza è ==.