C语言,请问:递归函数把整数转换成字符串:如123,字符串“123”怎么做?非常急

急,急

这个题目是用循环好做,用递归还有点烦,还好做出来了:

#include "stdio.h"
int itoc(int num, char *buffer)
{
int i=0;
if(num<0)
{
*buffer='-';
num=0-num;
itoc(num,buffer+1);
}
else if(num>=10)
{
i=itoc(num/10,buffer);
*(buffer+i)=(num%10)+'0';
*(buffer+i+1)=0;
}
else
{
*buffer=num+'0';
*(buffer+1)=0;
}
return i+1;
}

void main()
{
char str[20];
itoc(0,str);
printf("%s\n",str);
itoc(17858,str);
printf("%s\n",str);
itoc(-12345,str);
printf("%s\n",str);

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-07-02
用函数itoa(int value, char *string, int radix)头文件<stdlib.h>
相似回答