这里实现需要用到函数的递归,代码如下
#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版权协议,转载请附上原文出处链接和本声明。