求帮助C语言遇到问题不能解决

我的i值无法传递给j 但是我的j循环可以正常进行输出但是我输出的时候空格又输出为我i初始化的值这是为什么会发生这种情况呢?

img

img

img

第1个for循环应该这样写

for(i=0;b>0;i++)

修改如下,供参考对照:

#include<stdio.h>
#include<math.h>
int main()
{
    int a,b=1,i=1,c;
    scanf("%d",&a);
    b=a;
    for(i=0;b>0;i++)
       b /= 10;
    b=a;i--;
    for(int j=i;j>=0;j--)
    {
        c = b/(int)pow(10,j);
        b = b%(int)pow(10,j);
        printf("%d ",c);
    }
    printf("\n");
    return 0;
}


题主代码里,在两个地方定义了i ,修改如下,供参考对照:

#include<stdio.h>
#include<math.h>
int main()
{
    int a,b=1,i=1,c;
    scanf("%d",&a);
    b=a;
    for(i=0;b>0;i++)
       b /= 10;
    b=a;i--;
    for(int j=i;j>=0;j--)
    {
        c = b/(int)pow(10,j);
        b = b%(int)pow(10,j);
        printf("%d ",c);
    }
    printf("\n");
    return 0;
}