题目要求是将一个整数N转换成字符串,例如,输入483..应该输出"483", N的位数不确定,可以是任意位数的整数....仅希望大家指出我这个程序中的错误...不需要其它的实现方法....谢谢...程序中的注释是我的思路
void fun(long a , char *p) /*将整数转换成字符串的函数,转换后反序存入字符数组p*/
{
if(a<10) /*判断a是否为一位数,要是直接送到*p中*/
*p=a+'0'; /*把数字转换成字符*/
else /*不是一位数的情况*/
{
*(p++)=a%10+'0'; /*把a个位数字转换成字符存入*p,并使p指向字符数组下一个*/
fun(a/10,p); /*递归调用,a/10就可以把刚才已经存过的个位去掉*/
}
*p='\0'; /*给字符数组最后加上一个结束标志*/
}
void main()
{long a;
char p[10],temp;
int i;
scanf("%ld",&a); /*输入整数*/
fun(a,p); /*函数调用*/
for(i=0;i<=strlen(p)/2;i++) /*由于函数是反序存储,这里进行倒序*/
{temp=p[i];
p[i]=p[strlen(p)-i];
p[strlen(p)-i]=temp;
}
puts(p); /*输出转换过的字符数组*/
getch();
}