我有这块代码,它应该会触发一个消息,当用户打在Ctrl + D并输入它,但没有消息出现。有人可以向我解释为什么这样吗?为什么这个“if”语句在它应该被触发时不会触发?
#include <stdio.h>
int main()
{
int i=0;
int result = scanf("%d", &i);
if(result == EOF)
{
printf("End of file detected\n");
}
}
它只是似乎想打印我的消息时,我在按Ctrl +d冲键盘和输入结果^D
上没有。
我应该如何修改语法以便读取^ D? – user152573 2014-09-12 21:05:41
如果您输入任何非空白文本然后按Ctrl D,它将不会打印“检测到文件结尾\ n”。 – chux 2014-09-12 21:08:50
请注意,在获得您认为正确的答案时,正确的程序是*将答案标记为已接受*。特别是,不要编辑您的帖子来说“解决:...”(您可能需要一段时间[Welcome To Stack Overflow Tour](http://stackoverflow.com/tour))。 – usr2564301 2014-09-12 21:53:47