不是末班车 发表于 2023-9-7 18:59:50

关于递归调用知识点 求大佬解析代码

#include <stdio.h>

void fun(int a)
{
       
        //函数的出口
        if(a==0)       
                return;
        fun(a-1);
        printf("%d\n",a);
}

int main(void)
{
        int a = 10;
        fun(a);
        return 0;
}


isdkz 发表于 2023-9-7 19:00:05

这段代码是一个使用递归调用的示例。它的功能是从给定的数字开始递减,直到数字为0,然后打印每个数字。

在主函数中,我们定义了一个整型变量a并将其赋值为10。然后我们调用了函数fun(a)。

在函数fun中,我们首先检查传入的参数a是否为0。如果是0,则直接返回,即函数的出口。如果a不为0,则递归调用函数fun(a-1),这样就会一直递减a的值直到a为0为止。然后,我们使用printf函数打印当前的a的值。

在这个示例中,函数fun被递归调用了10次,每次递归时a的值减1,最后打印出了从10到1的数字。

总结:递归调用是一种函数调用自身的技术,它可以用来解决一些需要重复执行相同操作的问题。在这个例子中,递归调用被用来实现从给定数字递减到0并打印每个数字的功能。
页: [1]
查看完整版本: 关于递归调用知识点 求大佬解析代码