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

​

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

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

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

相关推荐
沐知全栈开发12 小时前
备忘录模式(Memento Pattern)
开发语言
wuqingshun31415912 小时前
大致说一下程序、进程、线程
java·运维·服务器·开发语言
wuqingshun31415912 小时前
Object有哪些方法,大致说一下每个方法的含义?
java·开发语言·jvm
你的冰西瓜13 小时前
C++ STL算法——数值算法
开发语言·c++·算法·stl
青山是哪个青山13 小时前
现代C++特性
开发语言·c++
MediaTea13 小时前
Python:比较协议
运维·服务器·开发语言·网络·python
wuqingshun31415913 小时前
说一下JVM内存结构
java·开发语言·jvm
33三 三like13 小时前
高精度计算
开发语言·c++·算法
Hello.Reader13 小时前
Tauri 项目结构前端壳 + Rust 内核,怎么协作、怎么构建、怎么扩展
开发语言·前端·rust
lsx20240613 小时前
SQLite 命令详解
开发语言