1.递归是什么?
递归指的是直接或者间接地调用该函数的本身,最终的到所需要的值!
2.递归的实现与思想
先看几张图把
如上述三章图片所示:递归本身包括回溯和递推两部分。回溯和递推一般情况下都在被调函数中完成的,也就是形参函数中,递归函数的结束条件是必须存在的否则就会出现无限循环。
代码如下所示:
#include <stdio.h>
/*
auther:新生代小码农
date:2021-09-15
*/
int age(int n){
//递推的过程全部是在age形参函数中完成的并返回age(5)的值给实参
int c;
if(n==1){
c=10;
}else{
c=age(n-1)+2;
}
printf("%d\n",c);
return c;
}
//函数递归(回溯+递推)
int main(){
int n;
printf("NO,age:%d\n",age(5));//输出第5个学生的年龄
return 0;
}
运行结果:
10
12
14
16
18
NO,age:18
--------------------------------
Process exited with return value 0
Press any key to continue . . .