14-递归函数

 

  1、递归函数的概念     

      一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。

      C语言允许函数的递归调用。

      在递归调用中,主调函数又是被调函数。

      执行递归函数将反复调用其自身,每调用一次就进入新的一层。

这个函数是一个递归函数。但是运行该函数将无休止地调用其自身,这当然是不正确的。

为了防止递归调用无终止地进行,必须在函数内有终止递归调用的手段。

常用的办法是加条件判断,满足某种条件后就不再作递归调用,然后逐层返回。

2、思考&实现1:

有5个人坐在一起,问第5个人多少岁?他说比第4个人大两岁。问 第4个人岁数,他说比第3个人大两岁。问第3个人,又说比第2个人大两岁。问第2个人,说比第1个人大两岁。最后问第1个人, 他说是10岁。请问第5个人多大?

分析:

每一个人的年龄都比其前1个人的年龄大两岁。

即: age(5)=age(4)+2

      age(4)=age(3)+2

      age(3)=age(2)+2

      age(2)=age(1)+2

      age(1)=10

可以用式子表述如下:

如果(n=1)  age(1)=10

如果(n>1)  age(n)=age(n-1)+2

 1 int getAge(int n)
 2 { 
 3     int age ; 
 4     if(n==1)
 5     { 
 6         age = 10; 
 7     } 
 8     age = age(n-1)+2;
 9     return age; 
10 } 

代码如下:

人生之路,不忘初心,勿忘始终!
原文地址:https://www.cnblogs.com/xdl745464047/p/4003624.html