2013年7月28日日曜日

開発環境

プログラミング言語C 第2版 ANSI規格準拠 (B.W. カーニハン D.M. リッチー (著)、 石田 晴久 (翻訳)、共立出版)の第4章(関数とプログラム構造)、4.10(再帰(Recursion))の演習4-12を解いてみる。

その他参考書籍

演習 4-12.

コード

sample.c

#include <stdio.h>
#include <limits.h>
#define MAXLINE 1000000

void itoa(int n, char s[]);

int main()
{
    char s1[MAXLINE], s2[MAXLINE];
    printf("%d\n", INT_MIN);
    itoa(INT_MIN, s1);
    printf("%s\n", s1);
    putchar('\n');
    printf("%d\n", INT_MAX);
    itoa(INT_MAX, s2);
    printf("%s\n", s2);
    return 0;
}

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

入出力結果(Terminal)

$ ./a.out
-2147483648
-2147483648

2147483647
2147483647
$

0 コメント:

コメントを投稿