C语言 将一个整数转换成一个字符串
程序说明:用递归函数将一个整数n转换成字符串,例如,输入568,应输出字符串“865”。n的位数不确定,可以是任意位数的整数下面是我写的代码:#include"stdio...
程序说明:用递归函数将一个整数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); /*输出结果*/
}
为什么输出的结果是乱码?错在哪里?应该怎样改?谢谢 展开
应输出字符串“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); /*输出结果*/
}
为什么输出的结果是乱码?错在哪里?应该怎样改?谢谢 展开
4个回答
展开全部
试试在ie条件句里的ch[i]赋值语句中的=后加上(char)
我也是新手,说错莫见怪
我也是新手,说错莫见怪
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
}
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);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询