C语言教程:递归(调用同一个函数(自身))

2018-10-0707:58:25编程语言入门到精通Comments2,433 views字数 550阅读模式

当在一个函数中调用同一个函数(自身)时,它在C语言中被称为递归。调用相同函数的函数称为递归函数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6424.html

一个调用自身,并且在函数调用后不执行任务的函数被称为尾递归。 在尾递归中,我们通常使用return语句调用相同的函数。下面给出了一个尾递归递归的例子。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6424.html

recursionfunction(){  
    recursionfunction();// 函数名称一样,自身调用自身函数
}
C

C语言中尾递归的例子

我们来看一个使用C语言中的尾递归打印因子数的例子。首先创建一个名称为:recursion的工程,在这个工程下创建一个源文件:recursion-example.c,其代码如下 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6424.html

#include<stdio.h>   

int factorial(int n)
{
    if (n < 0)
        return -1; /*Wrong value*/
    if (n == 0)
        return 1; /*Terminating condition*/
    return (n * factorial(n - 1));
}

void main() {
    int fact = 0;
    fact = factorial(5);
    printf("\n factorial of 5 is %d \n", fact);

}
C

执行上面代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6424.html

factorial of 5 is 120
Shell

我们可以通过下面的图形来理解上述递归方法调用的程序:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6424.html

C语言教程:递归(调用同一个函数(自身))文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/6424.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/6424.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定