8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串"486"。n的位数不确定,可以是任意位数的整数。
#includechar str1[20]; int i=0; long n; int main(){ int longToStr(long n); char *revstr(char *str, int len); printf("请输入一个整数n:\n"); scanf("%ld",&n); char *p; longToStr(n); p=revstr(str1, i); *(p+i)='\0'; printf("输出的字符串为:\n"); puts(p); return 0; } //字符串翻转函数 char *revstr(char *str, int len) { char * start = str; char * end = str + len - 1; char ch; if (str != NULL) { while (start < end) { ch = *start; *start++ = *end; *end-- = ch; } } return str; } int longToStr(long n){ int a = (int)(n%10); str1[i++]=a+48; if(n-a!=0) { n=(n-a)/10; longToStr(n); } else {str1[i]='\0'; return 0; } }
conclusion: