C语言中关于函数递归的理解

递归的概念:如果一个对象部分包含它自己,或者利用自己定义自己,则称这个对象是递归的;如果 一个过程直接或间接调用自己,则称这个过程是一个递归过程。递归的主要思考方式在于:将大事化小

我们先看一个例子

题目:输入一个无符号数,并输出这个数的每一位

cpp 复制代码
​#include"stdio.h"
void print(unsigned int n)        
{
    if(n>9)
        print(n/10);
    printf("%u ",n%10);
}
int main()
{
    unsigned int num=0;        //unsigned:无符号类型
    scanf("%u",&num);          //%u 无符号的数据类型
    print(num);
    return 0;
}

​

那么我们来看看具体的运行方式:

注意:函数每次递归都会开辟出一个空间,也称为栈,而执行完这个栈里面的所有东西之后,这个栈就会被销毁

现在已经把条件执行完了,那么接下来就要开始返回了

相关推荐
liudanzhengxi几秒前
AnthropicAPI连接超时:实战避坑指南
开发语言·php
张二娃同学1 分钟前
01_C语言学习路线与开发环境搭建
c语言·开发语言·学习
程序leo源7 分钟前
Qt信号与槽深度详解
c语言·开发语言·数据库·c++·qt·c#
水云桐程序员9 分钟前
C++数组详细介绍
开发语言·c++
码界筑梦坊13 分钟前
123-基于Python的特斯拉超级充电站分布数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计·echarts·fastapi
AI人工智能+电脑小能手17 分钟前
【大白话说Java面试题 第56题】【JVM篇】第16题:JVM有哪些垃圾收集器?
java·开发语言·jvm·面试
2401_8654396328 分钟前
CSS中隐藏元素的多重技巧与应用场景
开发语言·前端·javascript
雁迟42 分钟前
第六章:for 循环与 while 循环语句
开发语言·r语言
故事和你911 小时前
洛谷-【图论2-2】最短路1
开发语言·数据结构·c++·算法·动态规划·图论
Simple-Soft1 小时前
指针的高级应用与技巧 - C语言的灵魂
c语言·数据结构·算法