C语言实现接受一个无符号整型分别输出它的每一位例如1234输出1 2 3 4

这里实现需要用到函数的递归,代码如下

#include <stdio.h>
void print(int a)
{
    if (a > 9)
    {
        print(a / 10);
    }
    printf("%d ", a % 10);
}
int main()
{
    int a;
    printf("请输入一个数字:");
    scanf("%d", &a);
    print(a);
    return 0;
}

假如我们输入的数字是123,想要输出他的每一位,我们可以分别求出他的个位输出,123%10=3,

然后 12   3   12%10=2  最后还有一个一  ,我们可以通过函数递归来实现

假如输入的为1234 ,首先进入函数 满足大于9 然后除以10去掉1234中的4,成为123再次进入函数,仍然满足大于9,继续除以10去掉最后一位数 直到数小于9,输入1234最后为1 不满足if条件,所以执行输出函数a%10=1 打印 然后返回上面一个函数中 a=12 12%10=2打印 然后在返回上面一个函数 继续执行 直至最后一个数打印出来 (相关原理可以看我之前发布的一个博客《 c语言的简单递归分析》里面有个很简单的例子,一看就懂),这样就得出我们想到的结果


版权声明:本文为s3088784247原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。