注视行为错误处
2
运行的结果我们如下图,当我们输入回车或者空格符的时候不会跳出循环 ,他们被跳过了。我们定义输入变量为整型时而我们使用终端输入一个一个字符的时候,跳出循环。
当我们使用 istream 对象作为条件,结果是测试流的状态。如果流是有效的(也就是说,如果读入下一个输入是可能的)那么测试成功。遇到文件结束符或遇到无效输入时,如读取了一个不是整数的值,则 istream 对象是无效的。处于无效状态的 istream 对象将导致条件失败。操作系统使用不同的值作为文件结束符。Windows 系统下我们通过键入control—z——同时键入“ctrl”键和“z”键,来输入文件结束符。Unix 系统中,包括 Mac OS—X 机器,通常用 control—d。使用control +d的结果运行如下图所示。
不能用cin语句把空格字符和回车换行符作为字符输入给字符变量,它们将被跳过。
但是如果程序如下图所示:
当变量是char 类型而我们输入int 型的时候我们还是可以执行的。
如果想将空格字符或回车换行符(或任何其他键盘上的字符)输入给字符变量,可以用getchar函数。