练习1-12
编写一个程序,以每行一个单词的形式打印其输入。
#include <stdio.h>
#define IN 1
#define OUT 0
int main()
{
int c, nw, state;
state = OUT;//表示不在单词里
nw = 0;
int i = 1;
while ((c=getchar()) != EOF)
{
//如果不是以下字符就输出
//并将state修改为IN,表示位于单词里
if(!(c== ' '|| c== '\t' || c== '\n'))
{
state = IN;
putchar(c);
}
//当遇到(空格,制表符,换行符)时,先判断state是不是为IN,则输出换行符
//如果遇到的第一个是(空格,制表符,换行符),则进行换行,剩下的第二,三,四,五个不进行操作(state修改为out)
else
{
if(state == IN)
putchar('\n');
state = OUT;
}
}
return 0;
}
输出如下: