```
//输入一个正整数,输出逆序的数结尾的0不做处理
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
int x;
int digit;
int r=0;
scanf("%d",&x);
while(x>0){
digit=x%10; //每次循环x的个位数
r=r*10+digit; //逆序
printf("x=%d,digit=%d,r=%d\n",x,digit,r); //调试
x=x/10;
}
printf("%d\n",r);
}
r是int类型,循环后输出就没有前面的0了
取模后余数乘10,序数为0自动就没有了。
因为r是int整数数值,数值的前面不可能有0。
x 是700
digit第一次循环是0, x的个位数
r=r*10+digit; r初始为0,r=0*10+0, 结果r还是0
digit第二次循环也是0, x的十位数
r=0*10+0, 结果r还是0
digit第三次循环是7, x的百位数
r=0*10+7, 结果r就是7
如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮
你这样不会有0啊