程序说明:用递归函数将一个整数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); /*输出结果*/
}
为什么输出的结果是乱码?错在哪里?应该怎样改?谢谢
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;
}
哇塞要上面那么复杂吗
我也是新手,说错莫见怪
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);
}
}本回答被提问者采纳