View Single Post
Old 12-10-2003, 11:00   #7
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Cittā: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
In sostanza non serve modificare la logica della funzione, basta usare correttamente le istruzioni return:

Codice:
void
hanoi(int dischi, int a, int b, int c)
{
        if(dischi) {
                printf("%d --> %d\n", a, c);
                return;
        }

        hanoi(dischi - 1, a, c, b);
        printf("%d --> %d\n", a, c);
        hanoi(dischi - 1, b, a, c);

        return;
}
anche se come ha scritto Vicius č sicuramente un modo molto piu' pulito di procedere. In genere non si dovrebbe mai aprire un blocco di un if() solo per includere un'istruzione con relativa return.
mjordan č offline   Rispondi citando il messaggio o parte di esso