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

​

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

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

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

相关推荐
赵财猫._.1 小时前
Native API开发:C++与ArkTS混合编程实战
开发语言·c++·harmonyos
普通网友1 小时前
基于C++的操作系统开发
开发语言·c++·算法
沪漂的码农1 小时前
MM32F0144芯片ADC电压采样策略详解
c语言·单片机·嵌入式硬件
狂团商城小师妹1 小时前
JAVA外卖霸王餐CPS优惠CPS平台自主发布小程序+公众号霸王餐源码
java·开发语言·小程序
2501_941111342 小时前
C++中的策略模式高级应用
开发语言·c++·算法
心软小念3 小时前
用Python requests库玩转接口自动化测试!测试工程师的实战秘籍
java·开发语言·python
sanggou4 小时前
【Python爬虫】手把手教你从零开始写爬虫,小白也能轻松学会!(附完整源码)
开发语言·爬虫·python
普通网友4 小时前
C++与Qt图形开发
开发语言·c++·算法
yue0085 小时前
C# 更改窗体样式
开发语言·c#
普通网友5 小时前
C++中的适配器模式
开发语言·c++·算法