#include <stdio.h>
#define MAXLINE 1000
void itoa(char s[],int n);
int main(int argc, char *argv[])
{
int n=520;
char s[MAXLINE];
itoa(s,n);
printf("%s\n",s);
return 0;
}
void itoa(char s[],int n)
{
static int i=0;
if(n<0)
{
s[i++]='-';
n=-n;
}
if(n/10)
itoa(s,n/10);
s[i++]=n%10+'0';
s[i]='\0';
}
分析:
递归
首先传入参数:520
第一次递归:52
第二次递归:5
之后数组值依次为:
5\0
52\0
520\0