#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;
}