关于用递归法求一个数的反向值如:123取反321
为什么我这个程序运行后直接结束,是不是我思路错了?还是哪里有问题,编译器并没有报错,不过有警告;TAT反正我也看不懂#include <stdio.h>
int ret(int n,int m);
void main()
{
double x,y;
printf("***************************************************************\n");
printf("输入欲取反的整数(若输入小数则只取整数部分),输入负数结束程序:\n");
printf("键入的数值为:");
scanf("%lf",&x);
while(x==0)
{
y=ret(x,0);
printf("该数取反后为:%.0lf\n\n",y);
printf("***************************************************************\n");
printf("输入欲取反的整数(若输入小数则只取整数部分),输入负数结束程序:\n");
printf("键入的数值为:");
scanf("%lf",&x);
}
return 0;
}
int ret(int n,int m)
{
if(n<10)
{
m= 10*m+n%10;
return m;
}
m= n%10+10*m;
n= (n-n%10)/10;
m= ret(n,m);
return m;
}