刚开始写的时候,误以为putchar每次输出的便是一个单词,导致后来输出的时候按照了每次一个字母的形式输出。这个程序主要注意两点:
1.一点要判断好每个单词的结束位置,空格,tab 换行符 等都算是一个标志。
2。出现换行符的时候我们需要判定 之前是否有一个word需要输出,就需要 IN OUT进行判定、
#include<stdio.h>
#define IN 1
#define OUT 0
int main()
{
int c ,state;
state = OUT;
while((c=getchar())!=EOF)
{
if((c==' '||c=='\n'||c=='\t')&&state == IN) //如果有要输出的单词并且遇到 那三种情况,则进行换行
{
putchar('\n');
state = OUT ;
}
else if(state == OUT) //如果state为0 即 没有可输出的单词的时候
{
state=IN;
putchar(c);
}
else //没有遇到换行标志
putchar(c);
}
return 0;
}