文件流中的EOF基准键盘输入中的EOF

文件流中的EOF标准键盘输入中的EOF
看过很多文章,说EOF在文件中并不存在这样的字符,也就说文件中并没有 占据空间的这个EOF字符,是文件流读入时到达结尾的一种状态返回值。那么在标准键盘输入中,每当我们输入完一串字符串按回车,标准输入读完最后的回车字符后并不会返回EOF,而是等待键盘再次输入,想返回EOF必须手动ctrl+z或者ctrl+d输入。实在不理解这种设计,忘大神指教,从正常思维来想,我个人感觉 键盘输入完一串字符串按回车后,输入函数读完最后的回车就应该返回EOF(因为后面没有字符了,文件流不也是因为后面没有可读字符才返回EOF的吗?)。
------解决思路----------------------
引用:
参考fgetc对应的源代码、

C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC\FGETC.C
C:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\fgetc.c