某些程序需要我们输入 EOF ( end of file 文件结束标记 ) 来退出循环。例如,下面这个程序就需要我们输入 EOF 才会退出循环。
#include <stdio.h>
#define IN 1
#define OUT 0
int main( void )
{
int c, nw = 0, state = OUT;
while ( ( c=getchar() ) != EOF )
{
if (c == '\t' || c == ' ' || c == '\n')
state = OUT;
else if (state == OUT)
{
state = IN;
nw++;
}
}
printf("%d",nw);
return 0;
}
在 windows 系统下,输入 EOF 的方法是:新起一行,按住 ctrl ,然后再按下 z ;而在 unix/linux 下,是 ctrl + d 。
----------------解决方案--------------------------------------------------------