2013年7月25日木曜日

開発環境

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

その他参考書籍

演習 4-9.

コード

sample.c

#include <stdio.h>

int main()
{
    int getch();
    void ungetch(int);
    ungetch(EOF);
    if (getch() == EOF) {
        printf("正解!\n");
    }
    return 0;
}

#define BUFSIZE 100

/* EOF(負の数、-1)も扱えるようにcharの配列をintの配列に変更 */
int buf[BUFSIZE];
int bufp = 0;

int getch(void)
{
    return (bufp > 0) ? buf[--bufp] : getchar();
}

void ungetch(int c)
{
    if (bufp >= BUFSIZE) {
        printf("ungetch: too many characters\n");
    } else {
        buf[bufp++] = c;
    }
}

入出力結果(Terminal)

$ ./a.out
正解!
$

0 コメント:

コメントを投稿