当前位置: 首页 > ai >正文

C语言|函数的递归调用

函数的递归调用 (逐层分解,逐层合并)
自己调用自己,必须要知道什么时候停止调用,不然会造成电脑死机。

【知识点】

1 函数调用是通过栈实现的。
多个函数嵌套调用时,会按照先调用后返回的原则进行返回。

2 函数递归必须满足的两个条件:
i-要有递归公式;
对问题的分解,把大问题拆解成最小问题。
ii-要有终止条件。
得到最小事件的解,让递归停下来。

3-递归的优缺点

递归的优点:简化程序设计,结构简洁清晰,容易编程,可读性强,容易理解。
递归能把复杂问题,分解为更简单的步骤,反应出问题的本质。
递归的缺点:速度慢,运行效率低,对存储空间的占用比较多。

 【代码分析】
 1 自定义Function函数,在程序开头放函数声明,主函数调用Function函数。
 2 main()函数,定义变量num,通过键盘输入数字,直接调用Function()函数。
 3 Function()函数,用if语句判断num大小,Function(num-1); 实现递归调用。


【程序代码】

# include <stdio.h>

void Function(int num); // 函数声明

int main(void)
{

    int num;
    printf("想输出几个不愧是小新少爷!:");

    scanf("%d", &num);

    Function(num);

    return 0;
}

void Function(int num)
{
    if(num>0)
    {
        printf("不愧是小新少爷!\n");
        Function(num-1);
    }
    else
    {
        return ;
    }
}

http://www.xdnf.cn/news/4009.html

相关文章:

  • 智算中心建设方案和前景分析
  • RHCE 第二次作业
  • LeetCode 热题 100 118. 杨辉三角
  • boke luntan shop edu自动化脚本
  • 民宿管理系统5
  • WidowX-250s 机械臂的简单数字孪生案例
  • 【NLP】 31. Retrieval-Augmented Generation(RAG):KNN-LM, RAG、REALM、RETRO、FLARE
  • 【渗透测试】Web服务程序解析漏洞原理、利用方式、防范措施
  • C++进阶之——多态
  • 【C++项目实战】日志系统
  • WEB表单和表格标签综合案例
  • win10启动项管理在哪里设置?开机启动项怎么设置
  • Android工厂模式
  • 抽奖系统(基于Tkinter)
  • 微服务项目中网关服务挂了程序还可以正常运行吗
  • 数学复习笔记 2
  • JAVA在线考试系统考试管理题库管理成绩查询重复考试学生管理教师管理源码
  • JobHistory Server的配置和启动
  • LCD,LED
  • 期末项目Python
  • GoogleTest:GMock初识
  • 嵌入式开发学习日志Day13
  • window 系统 使用ollama + docker + deepseek R1+ Dify 搭建本地个人助手
  • C++笔记之接口`Interface`
  • 恶心的win11更新DIY 设置win11更新为100年
  • 《赤色世界》彩蛋
  • 数据封装的过程
  • 分析atoi(),atol()和atof()三个函数的功能
  • 【今日三题】小红的口罩(小堆) / 春游(模拟) / 数位染色(01背包)
  • 【Bootstrap V4系列】学习入门教程之 组件-卡片(Card)