程序说明:用递归函数将一个整数n 转换成字符串,例如,输入568,
应输出字符串“865”。n 的位数不确定,可以是任意位数的整数
下面是我写的代码:
#include"stdio.h"
int i=0;
char ch[10]; /*定义一个字符数组*/
main()
{
int putin; /*定义变量*/
void tranf(int change); /*声明函数*/
printf("Please input the number:"); /*提示输入*/
scanf("%d",&putin); /*获取数据*/
tranf(putin); /*调用函数*/
getch();
}
void tranf(int change)
{
if(change!=0) /*判断*/
{
ch[i]=(change%10); /*为字符数组赋值*/
i++; /*字符数组向下移一个*/
change/=10; /*求商且更新变量的值*/
tranf(change); /*再次调用函数*/
}
printf("%s",ch); /*输出结果*/
}
为什么输出的结果是乱码?错在哪里?应该怎样改?谢谢