2013年4月3日水曜日

開発環境

プログラミング言語C 第2版 ANSI規格準拠 (B.W. カーニハン D.M. リッチー (著)、 石田 晴久 (翻訳)、共立出版)の第1章(やさしい入門)、1.5(文字入出力)、1.5.4(単語のカウント)の演習 1-12を解いてみる。

その他参考書籍

演習 1-12.

コード

sample.c

#include <stdio.h>

#define IN 1    /* 単語の中 */
#define OUT 0   /* 単語の外 */

/* 入力した単語を1行に一つずつ印字するプログラム */
main()
{
    int c, state;
    state = OUT;
    while ((c = getchar()) != EOF) {
        if (c == ' ' || c == '\n' || c == '\t') {
            if (state == IN) {
                state = OUT;
                putchar('\n');
            }
        } else {
            putchar(c);
            if (state == OUT)
                state = IN;
        }
    }
}

入出力結果(Terminal)

$ ./a.out

$ ./a.out
a
a
$ ./a.out
a a
a
a
$ ./a.out
kamimura python c
kamimura
python
c
kamimura    python  c
kamimura
python
c
  kamimura python     c
kamimura
python
c
$

0 コメント:

コメントを投稿