C语言 将一个整数转换成一个字符串

程序说明:用递归函数将一个整数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); /*输出结果*/
}

为什么输出的结果是乱码?错在哪里?应该怎样改?谢谢

atoi: 把字符串转换成整型数
itoa:把整数转换为字符串
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int number = 12345;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
}
哇塞要上面那么复杂吗
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-20
试试在ie条件句里的ch[i]赋值语句中的=后加上(char)
我也是新手,说错莫见怪
第2个回答  2010-12-20
#include"stdio.h"
int i=0;
char ch[10];
void tranf(long change);
main()
{
long putin;
printf("Please input the number:");
scanf("%ld",&putin);
tranf(putin);
ch[i]='\0';
printf("%s",ch);
getch();
}
void tranf(long change)
{
if(change)
{
ch[i++]=(change%10+'0');
tranf(change/10);
}
}本回答被提问者采纳
第3个回答  2010-12-20
蛋疼本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网