您需按下 Enter 键,然后使用 ctrl+Z 快捷键,再次按下 Enter 键。
或者,您也可以使用 F6 键。
EOF
就像你使用它一样,并不是一个字符。它是流的状态。
我的意思是,你甚至链接了这个问题,所以你可能也应该阅读被接受的答案:
EOF 的基本形式是零长度读取。
它不是“EOF 字符”。
http://www.c-faq.com/stdio/getcharc.html 引用了一个与你的情况不同的案例,其中有人将 getchar
的返回值存储在一个 char
中。底层问题仍然偶尔会发生:不同的运行时实现对于 EOF
整数 有不同的值(这就是为什么我说,它不是 EOF 字符),而且事情很容易出错。特别是在 Visual C++ 中,它不是一个“真正”的 C 编译器,而是一个带有兼容模式的 C++ 编译器,似乎事情会出错。
feof(stdin)
是否返回 true。 - Marcus Müllerchar
作为变量;发布的代码正确地使用了int
,可以检测EOF的“带外”状态。 - user2864740
EOF
,对吧? - Spikatrix