Ex1-12
编写一个程序,以每行一个单词的形式打印其输入。
#include<stdio.h>
#define IN 1 //在单词内
#define OUT 0 //在单词外
int main(){
int c,state;
state = IN;
while((c=getchar())!=EOF)
{
if(c == ' ' || c == '\n' || c == '\t') //触发条件
{
if(state == IN) //状态机:判断前一种状态是否为状态变化点,这里说明是第一个非字符
{
printf("\n");//输出空格
state = OUT;//改变状态机状态为“在单词外”
}
}else {
putchar(c);//如果不是非字符那么直接输出
state = IN;//可以持续更新状态为“在单词内”
}
}
}