其他分享
首页 > 其他分享> > 函数的递归讲解

函数的递归讲解

作者:互联网

什么是函数的递归:

在调用函数的过程中又出现直接或间接地调用该函数自己本身,称为函数的递归。

什么意思呢?我们以一道题为例:求n的阶乘。

int Fac(int n)//n的阶乘
{
	int sum=0;
	if (n == 0||n==1)//1的阶乘和0的阶乘都为1,特殊值处理
	{
		sum = 1;
	}
	else
	{
		sum =n* Fac(n - 1);
	}
	return sum;
}
int main()
{
	printf("%d", Fac(5));//这里按5的阶乘为例
	return 0;
}

1.将5传进去后,5不等于0和1,走else语句,sum=5*Fac(5-1),再进入Fac函数,sum=5*4*Fac(4-1),再进入Fac函数,sum=5*4*3*Fac(3-1),直到触发n==0||n==1,此时,sum=5*4*3*2*1,正好是5的阶乘。

结果:

 

再看一道例题,可以自己先写一下。

                                                                     代码和流程图如下:

 运行到tmp=Age(n-1)+2时,再进入Age()函数,直到n=1。

 

标签:函数,递归,int,sum,讲解,阶乘,Fac
来源: https://blog.csdn.net/qq_39628738/article/details/121657585