为啥我这样写,还是能无限输入

img


为什莫我的dev—c识别不了EOF,同样的代码我放oj上就能过

如果是Windows系统,你要按CTRL+Z组合键才能完成EOF输入

该回答内容部分引用GPT,GPT_Pro更好的解决问题
EOF(End Of File)是一个软件程序中使用的特殊字符,它在文件的末尾标志着文件的结束。当我们使用scanf函数时,EOF可以作为scanf函数的终止符。因此当scanf函数读取遇到EOF时,它就会停止读取,并返回一个-1,表示读取结束。

如果我们在dev_C++中运行的程序不能正常识别EOF,那么可能是我们没有正确使用scanf函数,导致scanf函数无法正常工作。例如,在使用scanf函数时,我们需要把EOF作为参数传递,但是如果我们忘记传递EOF参数,scanf函数就无法识别EOF,也就不能正常执行。

另外,如果我们在oj上运行的程序能正常识别EOF,那么可能是因为我们在oj上运行的环境是有一定差异的。例如,oj上运行的环境可能会提供更多的系统资源,而dev_C++中运行的环境可能没有配置那么充足的系统资源。因此可能会导致dev_C++中运行的程序不能正常识别EOF。

总之,如果想要让dev_C++中的程序正常识别EOF,需要我们在使用scanf函数时把EOF作为参数传递,保证scanf函数能够正常工作。
如果回答有帮助,望采纳。