6月5日 关于递归函数

2016-06-05  本文已影响0人  牛牛很牛

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

递归函数特点:

每一级函数调用时都有自己的变量,但是函数代码并不会得到复制,如计算5的阶乘时每递推一次变量都不同;

每次调用都会有一次返回,如计算5的阶乘时每递推一次都返回进行下一次;

递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;

递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;

递归函数中必须有终止语句。

一句话总结递归:自我调用且有完成状态。

例题

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

#includeint getAge(int n){

if(n==1){

return 10;

}else{

int age=getAge(n-1)+2;

return age;

}

}

int main()

{

int age=  getAge(5);

printf("第5个人的年龄是%d岁",age );

return 0;

}

上一篇下一篇

猜你喜欢

热点阅读