int fattoriale(int n)
{ if (n <= 0) return 1;
else return n * fattoriale(n-1);
}


STATO DEL RECORD DI ATTIVAZIONE PER LA CHIAMATA fattoriale(0)
APPENA CREATO A FRONTE DELLA CHIAMATA DA fattoriale(1)

VALORE DI n: 0

Si eseguono le istruzioni. Poiche' n=0, si segue il ramo then, e l'esecuzione termina producendo come risultato il valore 1, che viene restituito alla funzione chiamante; segui il link indicato nella funzione "fattoriale" per simulare il ritorno alla funzione chiamante.