易百教程

C语言中的递归是什么?

当一个函数调用自己时,这个过程称为递归。 调用自身的函数称为递归函数。
递归函数分为两个阶段:

  • 绕组阶段:当递归函数调用自身时,当达到条件时此阶段结束。
  • 放卷阶段:当条件达到时展开阶段开始,控制返回到原来的调用。

递归示例

#include <stdio.h>  
int calculate_fact(int);  
int main()  
{  
 int n=5,f;  
 f=calculate_fact(n); // calling a function  
 printf("factorial of a number is %d",f);  
  return 0;  
}  
int calculate_fact(int a)  
{  
  if(a==1)  
  {  
      return 1;  
  }else{
   return a*calculate_fact(a-1); //calling a function recursively.  
  }

}

运行上面示例代码,得到以下结果 -

factorial of a number is 120