Ecco l' esempio del fattoriale in C:

codice:
int fattoriale (int a)
{
    if(a==1)
      return 1;
    else
      return a*fattoriale(a-1);
}
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).
Facciamo finta che voglio calcolare il fattoriale di 3,chiamo la funzione:
codice:
int x=fattoriale(3);
a è diverso da 1,quindi si procede,il ritorno della funzione è 3*fattoriale(2);
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.