为什么他的结果会循环,怎样修改

#include<stdio.h>
int main()
{
int x,a,b,c=0;
printf("请输入一个数字:");
scanf("%d",&x);
do{
a=x%10;
c=c*10+a;
x=x/10;
}while(x>0);
do{
b=c%10;
printf("%d",b);

    if(c>9){
        printf(" ",b);
    c=c/10;
    }
}while(c>0);
return 0;

}

第二个while当c小于等于9就不会在变化,就会陷入死循环。有帮助请采纳!谢谢

最后面的do while的c值小于10的时候都没变

供参考:

#include<stdio.h>
int main()
{
    int x, a, b, c = 0;
    printf("请输入一个数字:");
    scanf("%d", &x);
    do {
        a = x % 10;
        c = c * 10 + a;
        x = x / 10;
    } while (x > 0);
    do {
        b = c % 10;
        printf("%d", b);

        if (c > 9) {
            printf(" ", b);
        }
        c = c / 10;//把这句搬到if(c>9){}外面
    } while (c > 0);
    return 0;
}