目的
1. 了解什么是递归调用
2.运用递归调用求斐波那契数列
代码演示
#include <stdio.h>
int fib(int n)
{
if(n<=2) return 1;
return fib(n-1)+fib(n-2);
}
int main()
{
int x, t;
printf("需要查找的项数:");
scanf("%d",&x);
t=fib(x);
printf("斐波那契数列第%d项数值为%d",x,t);
return 0;
}
结果
总结
递归调用就是在当前的函数中调用当前的函数并传给相应的参数,这是一个动作,这一动作是层层进行的,直到满足一般情况的时候,才停止递归调用,开始从最后一个递归调用返回。——转自百度百科。我对递归调用的理解就是函数在被调用的过程中继续调用自己本身。运用到斐波那契数列中,当fib函数的实参大于2时,一层层做减法直至实参变为1或2,此时满足条件停止递归调用,函数将最后一次的返回值一层层往回代。