为什么输出中文,还有for向递归的转换!
题目:用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意位数的整数。下面是我写的,但是就是输出中文(乱码)……
#include <stdio.h>
#include <math.h>
main()
{
int number1,number2;
int i,j;
char a[100];
scanf("%d",&number1);
number2=number1;
for(i=1;;i++) /* 这里是判断输入数是几位数 */
{
if(number2/10!=0) number2/=10;
else break;
}
for(j=0;;j++) /* 这里是把输入的数字改变成字符 */
{
if(i>=0)
{
a[j]=(char)(number1*pow(10,--i)+48);
}
else
{
a[j]='\0';break;
}
}
puts(a);
}
还有就是如何向递归法的转换!?题目所说的用递归法是哪个部分!?
谢谢各位大哥大姐的指点!