高手帮忙C语言程序的问题

来源:百度知道 编辑:UC知道 时间:2024/09/18 05:20:45
用递归法将一个六位整数N转换成字符串
(例如:输入123456,应输出字符串”123456”)

#include<stdio.h>
void itoa(long i,char *s)
{
if(i==0)
return;
else i=i-1;
*s = '1'+i%10;
itoa(i/10,s-1);
}
void main()
{
long n;
char str[7]="";
scanf("%ld",&n);
itoa(n,str+6);
printf("%s",str);
}

调用函数的时候注意字符串对应的地址是str+0~str+5

所以应该这样调用:

itoa(n,str+5); //是str+5

而且最好在后面加上'\0'

难道你没听说过sprintf?
标准c库的基础函数,和printf一样