Ecco l' esempio del fattoriale in C:
L' intero principio della funzione ricorsiva si basa sul fatto che prima o poi la funzione smetterà di auto-chiamarsi,e questo avviene quando incontra la condizione iniziale (a==1).codice:int fattoriale (int a) { if(a==1) return 1; else return a*fattoriale(a-1); }
Facciamo finta che voglio calcolare il fattoriale di 3,chiamo la funzione:
a è diverso da 1,quindi si procede,il ritorno della funzione è 3*fattoriale(2);codice:int x=fattoriale(3);
Ma quant'è fattoriale(2)? per calcolarlo bisogna rieseguire la funzione fattoriale.
a è diverso da 1,quindi il ritorno è 2*fattoriale(1),il ritorno totale per ora è 3*2*fattoriale(1).
Adesso la funzione viene rieseguita di nuovo.
stavolta a è uguale a 1,quindi il ritorno è 1.
Il ritorno totale è 3*2*1 =6.