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

​

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

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

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

相关推荐
人道领域2 分钟前
【Redis实战篇】秒杀系统:一人一单高并发实战(synchronized锁实战与事务失效问题)
java·开发语言·数据库·redis·spring
三品吉他手会点灯5 分钟前
C语言学习笔记 - 13.C语言简介 - 回顾本讲内容
c语言·笔记·学习
0xDevNull5 分钟前
Spring中统一异常处理详细教程
java·开发语言·后端
炘爚6 分钟前
深入解析C++多态:虚函数与动态联编
开发语言·c++·多态·虚函数
abcefg_h7 分钟前
GORM——基础介绍与CRUD
开发语言·后端·golang
金融小白数据分析之路10 分钟前
java 打包exe maven 版本
java·开发语言·maven
changshuaihua00113 分钟前
useState 状态管理
开发语言·前端·javascript·react.js
聆风吟º15 分钟前
【Python编程日志】Python入门基础(二):行 | 缩进 | print输出
开发语言·python·print··缩进
lsx20240618 分钟前
Servlet 点击计数器
开发语言