初学者的小问题
小弟是某三流大学计算机系的学生 正在研读著名的c语言教程<<The C Programming Language>> 按照书中的方式实现一个 单词计数的小程序 编译环境 是 dev-c++ 4.9.9.0] 程序编译无错误 但是程序的输入过程无法结束 如果将 EOF 改为 任意字符则没有问题
通过验证 EOF的 整形值为-1 也就是说无法从键盘输入 那程序是 如何结束的? 是否和编译环境有关?
程序如下
#include "stdio.h"
#include "stdlib.h"
#define IN 1
#define OUT 0
main()
{
int c, nl, nw, nc, state;
state = OUT;
nl = nw = nc = 0;
while ((c = getchar()) != EOF) {
++nc;
if (c == '\n')
++nl;
if (c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
}
printf("%d %d %d\n",nl,nw,nc);
system("pause");
}