EOF是一个宏,使用int型的变量去保存输入值,与之比较。。。。使用char值保存EOF输入值会溢出。。。一般EOF的值是-1
表示一个流读结束了。
对于一个文件来说,读尽最后一个字节算做结束。
对于标准输入(也就是一般的键盘输入),需要人为的产生一个EOF,告诉系统输入结束了。Unix/Linux下一般使用Ctrl+d,Dos/Windows下是Ctrl+z
注意:
还要加一个回车
……
我用你的程序试了一遍没有问题,按
Ctrl+z
组合键;
另外既然包含了iostream,输出换行可以使用
cout<
追问:
老师说用noskipws和skipws时eof不行,得用ctrl+z才能退出循环,难道是他讲错了?
追答:
>
你就没有弄清楚EOF的意思!它是系统定义的常量,是-1。当scanf接收出错时自动返回-1,不是让你输入EOF。你那样写scanf没有什么错,但必须用Ctrl+Z键制造错误才能结束,比较麻烦;你用!=0控制反而较好,因为输入非数字返回0就结束了。你这里最好的办法是写==2,因为你要接收2个整数,只要有一个未正确接收就可退出……
以上就是关于c++问题while(cin>>x)怎么用eof结束全部的内容,包括:c++问题while(cin>>x)怎么用eof结束、在JAVA中怎么实现输入以EOF结束、c语言输入EOF结果无限循环,把程序中EOF改成0,输入时在用EOF反而可以结束等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)