C语言---递归---输入一个整函数,按照顺序打印每一位

简介: C语言---递归---输入一个整函数,按照顺序打印每一位
//递归---输入一个整函数,按照顺序打印每一位4 3 2 1
 
//假设输入1234
// 1234%10=4
// 1234/10=123
// 123%10=3
// 123/10=12
// 12%10=2
// 12/10=1
// 1%10=1
// 1/10=0
 
void print(int n)//接收n值
{
    if (n > 9)
        print(n / 10);
    printf("%d ", n % 10);//打印余数
}    
 
int main()
{
    int n = 0;
    scanf_s("%d", &n);
    print(n);//传过去n值
 
    return 0;
}
 
//假设n是123,大于9进去,先用print(123/10),把12的每一位打印出来
//上一步结束后,再打印123%10打印余数3
 
//原理:
//print(1234)
//print(123)+ 4
//print(12)+ 3 4 
//print(1)+2 3 4   ***拆解到这一步然后返回依次打印
//代码的执行顺序是先print,再打印,
//你输入的数据进入print一直被拆分,知道拆分为1时就停止了,
// 然后再依次打印
//先是print(123)
//然后又进入print(123/10)也就是print(12)
//print(12)进去了print(12/10),也就是print(1),
//最后因为1<9,所以就先开始打印了1%10了,
//再返回打印12%10了,然后就是123%10
//最后的结果就是1 2 3
 
//只有print调用完才能轮到printf去打印
 
 
//print(1234)分成两部分-- - print(123)和printf("%d", 4)
//print(123)分成两部分---print(12)和printf("%d",3)
//print(12)分成两部分---print(1)和printf("%d",2)
相关文章
|
2天前
|
C语言
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
|
2天前
|
C语言
C语言prinf函数
C语言prinf函数
10 4
|
3天前
|
算法 C语言
【C语言】:atoi函数的使用及其模拟实现
【C语言】:atoi函数的使用及其模拟实现
11 5
|
1天前
|
编译器 程序员 Serverless
|
1天前
|
机器学习/深度学习 C语言
详细解读C语言math.h中常用函数
详细解读C语言math.h中常用函数
|
1天前
|
C语言
C语言刷题(函数)
C语言刷题(函数)
|
2天前
|
存储 C语言
c语言scanf函数用法
c语言scanf函数用法
|
2天前
|
C语言
【海贼王编程冒险 - C语言海上篇】库函数怎样模拟实现?
【海贼王编程冒险 - C语言海上篇】库函数怎样模拟实现?
5 1
|
2天前
|
搜索推荐 C语言
c语言qsort函数的模拟实现
c语言qsort函数的模拟实现
7 1
|
3天前
|
C语言
【C语言】:浅谈函数 fscanf/sscanf 和 fprintf/sprintf
【C语言】:浅谈函数 fscanf/sscanf 和 fprintf/sprintf
11 1