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

​

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

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

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

相关推荐
崇山峻岭之间19 分钟前
Matlab学习记录05
开发语言·学习·matlab
狗狗摇屁屁22 分钟前
JS手写防抖
开发语言·javascript·ecmascript
派大鑫wink24 分钟前
【Day7】构造方法与 this 关键字:初始化对象的正确姿势
java·开发语言
智算菩萨25 分钟前
实战:用 Python + 传统NLP 自动总结长文章
开发语言·人工智能·python
沐知全栈开发25 分钟前
WebForms HashTable 深入解析
开发语言
子夜江寒25 分钟前
基于 Python 库使用贝叶斯算法与逻辑森林
开发语言·python·算法
JIngJaneIL25 分钟前
基于java+ vue办公管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
清风细雨_林木木31 分钟前
Chart.js和 Echart的区别
开发语言·javascript·ecmascript
wjs202433 分钟前
JSP 指令
开发语言
while(1){yan}34 分钟前
JVM八股文
java·开发语言·jvm·java-ee