鱼C论坛

 找回密码
 立即注册
查看: 900|回复: 1

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

[复制链接]
发表于 2023-9-7 18:59:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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;
}


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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并打印每个数字的功能。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 09:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表