1.递归函数概述及用法
- 一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。C语言允许函数 的递归调用。在递归调用中,主调函数又是被调函数。执行递归函数将反复调用其自身,每调用 一次就进入新的一层。
void function(int x)
{
function(x);
}
- 这个函数是一个递归函数。但是运行该函数将无休止地调用其自身,这当然是不正确的。为了防 止递归调用无终止地进行,必须在函数内有终止递归调用的手段。常用的办法是加条件判断,满 足某种条件后就不再作递归调用,然后逐层返回。
2.递归函数构成条件
- 自己调用自己
- 存在一个条件能够让递归结束
- 问题的规模能够缩小
- 能用循环实现的功能,用递归都可以实现
- 递归就是自己搞自己,性能差
- 注意:递归一定要有一个明确的结束条件,否则会造成死循环
3.实例
🌰:
//有5个人坐在一起,问第5个人多少岁?他说比第4个人大两岁。问 第4个人岁数,他说比第3个人大两岁。问第3个人,又说比第2个 人大两岁。问第2个人,说比第1个人大两岁。最后问第1个人, 他说是10岁。请问第5个人多大?
//传入的n表示第几个人
int getAge(int n)
{
int age ;
if(n==1){
age = 10;
}else{
age = getAge(n-1)+2;
}
return age;
}
网友评论