C DERS 22: RECURSİVE FONKSİYON (ÖZYİNELEMELİ)

Fonksiyonun kendi içinde tekrar tekrar çağırılması diyebiliriz. Hemen bir faktöriyel örneğiyle pekiştirelim.

int sonuc,sayi;
int main(int argc, char *argv[]) {

printf(“sayi gir:”);
scanf(“%d”,&sayi);
sonuc=FakBul(sayi);
printf(“sonuc: %d”,sonuc);
return 0;
}
int FakBul(int sayi)
{
if (sayi==1 || sayi==0)
{
return 1; // 0 VE 1 FAKTÖRİYEL 1’DİR.
}

return sayi*FakBul(sayi-1); // SAYI GELİYOR SONRA SÜREKLİ 1 EKSİĞİ GELEREK

//ÇARPIYOR, İŞTE TAM OLARAK RECURSİVE FONKSİYONUN KULLANILDIĞI YER

//BURASI

}