|
Recursion
Su ana kadar uzerinde durudugumuz programlar genel olarak diger fonksiyon tarafindan
cagrilan fonksiyonlardan olusmaktaydir.Recursive functionlarda ise fonksiyon kendisini direk veya bir araci ile cagirabilmektedir.
Bu bolumde kendisini cagiran fonsiyonlarin icerdigi bir kac tane program uzerinde duracagiz.
/*Recursive Factor Fonksiyonu*/
#include
long factor(long);
main()
{
int i;
for(i = 1; i <= 10; i++)
printf("%2d! = %1d\n", i, factor(i));
return(0);
}
/*Recursive tanimlama*/
long factor(long number)
{
if(number <=1)
return 1;
else
return (number *
factor(number - 1) );
}
Fonksiyon long olarak tanimlanmis ve long olarak geri donuyor. Long
long int in kisa yazimidir. ANSI nin acikladigina gore long 4 bytes sakli
tutabiliyor ve buda +2147483647 eder.Long u secmemizde ki amac programin 7 ! den
buyuk degerleri de hesaplayabilmesidir.
|
|
|