C语言:编写一个程序,以每行一个单词的形式打印其输入

第二版《C程序设计语言》,P15,练习1-12。

自己实现的代码如下:

#include <stdio.h>

#define IN 1
#define OUT 0

main()
{
    int c, state;
    state = OUT;

    while((c = getchar()) != EOF) {
        if (c == ' ' || c == '\t' || c == '\n') {
            if (state == IN) {
                state = OUT;
                putchar('\n');
            }
        }
        else{
            if (state == OUT)
                state = IN;
            putchar(c);
        }
    }
}