开发者学堂课程【C语言学习教程:递归函数】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/387/detail/4924
递归函数
内容介绍:
一、函数递归调用
二、举例说明
三、注意事项
一、函数递归调用
在一个函数中,直接或间接的调用了该函数本身
二、举例说明
1.求斐波纳契数列第N个元素(1、1、2、3、5、8、13...)
int Fibu(int n)
{
if(1==n I|2==n)return 1;
{
return 1;
}
return Fibu(n-1)+Fibu(n-2);
}
int main(int argc, const char * argv[]) {
int age = funcAge(10);
printf("age = %d\n" ,age);
//1 1 1 1 2 3 5 8 13….
int n = fibFunc(5);
printf("n = %d\n",n);
// insert code here...
printf("Hello, World!\n");
return 0;
2.年龄问题 每个学生都比后面的学生大一岁
int funcAge(int n) {
if n == 1{
return 1;
}else {
return funcAge(n-1)+1;
}
}
三、注意事项
使用函数递归调用时:
1.必须有一一个明确的结束递归条件,否则可能造成系统卡死
2.函数中每次调用该函数本身时,需解决的问题必须更小