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

​

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

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

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

相关推荐
小白勇闯网安圈几秒前
Java的集合
java·开发语言
渣渣盟17 分钟前
网络命令大全:轻松解决网络故障
开发语言·php
Mr Tang17 分钟前
Docker日志查看和应用日志查看命令大全
java·开发语言
invicinble19 分钟前
java处理数据合集
java·开发语言
电商API_1800790524736 分钟前
淘宝评论API技术解析与调用实战指南
开发语言·爬虫·信息可视化
百***074538 分钟前
gpt-image-1.5国内API稳定接入全方案(含多模态实操)
开发语言·gpt·php
小草cys41 分钟前
HarmonyOS Next调用高德api获取实时天气,api接口
开发语言·python·arkts·鸿蒙·harmony os
爬山算法41 分钟前
Netty(25)Netty的序列化和反序列化机制是什么?
开发语言·python
C+++Python44 分钟前
Java 锁机制
java·开发语言
龘龍龙1 小时前
Python基础学习(六)
开发语言·python·学习