Exercises 4-12

#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



你可能感兴趣的:(exe)