#include <stdio.h>//数的逆序
int main()
{
int x;
scanf("%d",&x);
int digit;
int ret = 0;
while(x>0){
digit = x%10;
ret = ret*10 + digit;//
x /= 10;
}
printf("%d",ret);
return 0;
}
上述程序问题在于:如果输入700会输出7,而不是007。
优化后:
#include <stdio.h>//数的逆序
int main()
{
int x;
scanf("%d",&x);
int digit;
int ret = 0;
while(x>0){
digit = x%10;
printf("%d",digit);
ret = ret*10 + digit;//其实这一步也可以不要了,因为既不会改变x的值,也不用打印。
//ret = ret*10 + digit;
x /= 10;
}
//printf("%d",ret);
return 0;
}