Cazul de bază și apropierea de oprire
O funcție este recursivă dacă se apelează pe ea însăși, direct sau prin alte funcții. Pentru ca execuția să se încheie, ai nevoie de un caz care nu mai face apeluri și de argumente care ajung la acel caz.
În exemplul de mai jos, domeniul este cel al numerelor naturale. Condiția n == 0 oprește funcția, iar n - 1 apropie fiecare apel de oprire. Pentru un n negativ, aceeași scădere nu ajunge la zero. Prezența unui if nu dovedește singură că funcția se termină.
Fiecare apel are propria valoare a parametrului transmis prin valoare. Când apelul interior primește 0, parametrul apelului exterior nu devine și el 0.