While ((c = getchar ())!=EOF )是什么意思?且!=EOF 是什么意思呢?EOF是什么意思,和有什么用法?

原码一部分是这样的:
While ((c = getchar ())!=EOF){
++c;
if (c =='n')
++nl;
if(c == ' '|| c =='\n'|| c =='\t')
state = OUT;
......

EOF就是End Of File的意思,表示文件结尾的意思
这里getchar虽然不是从文件里读数据,但无论是文件还是键盘输入,对于程序来说都是外部输入信息,可以用EOF来表示输入结束
本段代码的意思就是不断读取单个字符,直到输入结束
那么怎么算输入结束呢?
如果要结束的话,要先按enter,然后再按ctrl+z才结束输入 ctrl+z表示EOF(说明一下:Windows下为组合键Ctrl+Z,Unix/Linux下为组合键Ctrl+D)

getchar()!=EOF用来判断是否已经读取完。
EOF 是-1 即读入的已不是正常的字符而是文件的结束符;

文件是否读完了,或者结束了