C语言——递归函数

递归函数是指一个函数的函数体中直接调用或间接调用了该函数本身的函数

原理:通过调用自身,一层一层的向下递归,直到满足结束条件,再一层一层的向上返回返回值,直到求出最终结果。

1、直接调用:

int func()

{

函数体;

func();

return 0;

}

2.、间接调用:

int func1()

{

函数体;

func2();

return 0;

}

int func2()

{

函数体;

func1();

return 0;

}

注意:递归函数一定要在函数体内给定结束条件,否则函数将进入死循环,直到栈溢出

 例:求一个数的阶乘,例如5!

int func(int x)
{
  if(x==1)  //判断x是否为1
   {
    return 1;   //如果为1,其阶乘为1
    }
  else
   {
    //不为1,其阶乘=该数*(该数-1的阶乘),通过函数一定向下递归到1,再向上一步一步的返回值
   return x*fun(x-1); 
   }
}

int main
{
int result= func(5);  //定义变量result接收函数的返回值
}

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值