《c程序设计语言》读书笔记-4.12-递归整数转字符串

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

void itoa_num(int n, char *s)
{
    static int i;
    if(n / 10)
        itoa_num(n / 10, s);
    else
    {
        i = 0;
        if(n < 0)
            s[i++] = '-';
    }
    s[i++] = abs(n) % 10 + '0';
    s[i] = '\0';
}

int main()
{
    char s[100];
    int n = -100;

    itoa_num(n, s);

    printf("%s\n",s);

    return 0;

}

此程序中运用了递归和static类型变量,都不熟悉,尤其是static。好好看看。

posted @ 2014-11-12 21:29  司空格子Ored  阅读(176)  评论(0编辑  收藏  举报