感觉自己写代码写的有问题

输入一个正整数n,然后顺序输出n的各位数字,用空格隔开(递归函数实现)。
#include<stdio.h>
int main ()
{
int num;
printf("please input a number:");
scanf("%d",&num);
while(num>0)
{
printf("%d",num%10);
num=num/10;
}
printf("\n");
return 0;
}
以上代码符合要求吗?如果不符合该如何改

这根本没用到递归啊,参考一下

#include <stdio.h>
void dg(int n)
{
    if(n==0)
        return;
    dg(n/10);
    printf("%d ",n%10);
}

int main()
{
    int n;
    scanf("%d",&n);
    dg(n);
    return 0;
}