问题及代码:
/*编写一个程序,以每行一个单词的形式打印其输入*/
#include<stdio.h>
#define IN 1 //在单词内
#define OUT 0
int main()
{
int c,state; //记录处理过程是否处在单词内部
state=OUT; //尚未处理任何数据
//只要没有到文件结束就一直输入;
while((c=getchar())!=EOF)
{
if(c==' '||c=='\t'||c=='\n') //判断c是否是单词分隔符
{
if(state==IN) //判断分隔符是否表示一个单词结束
{
putchar('\n');
state=OUT;
}
}
else if(state==OUT) //c是单词的第一个字符
{
state=IN;
putchar(c);
}
else
putchar(c); //c是单词其他字符
}
}
运行结果: