我的i值无法传递给j 但是我的j循环可以正常进行输出但是我输出的时候空格又输出为我i初始化的值这是为什么会发生这种情况呢?
第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;
}