8.C++: while(cin>>a)问题
在洛谷P1320中,遇到了这样的输入
输入 #1
0001000 0001000 0001111 0001000 0001000 0001000 1111111
自己之前还真没见过,看到题解上用了while(cin>>a)
自己试了试,然后发现这玩意会一直让你输入,根本停不下来!
然后搜了一下,知道了ctrl+z可以让他停下来
在Windows系统中,只有按下回车才会去检测之前有没有按下Ctrl+z,才会去检测流是否结束。就是在按下回车之前,输入缓冲区并不能检测到是否有Ctrl+z按下,所以即使按了Ctrl+z,照样还可以从键盘去输入内容,但是Ctrl+z这行输入的内容到时候并不会被读取到,因为在缓冲区检测时,如果检测到Ctrl+z(结束标志),就会认为输入流结束了,那么后边的内容就不会被读进去,而被丢掉。
更多的内容参见https://blog.csdn.net/misayaaaaa/article/details/53332219
输入 #1
0001000
0001000
0001111
0001000
0001000
0001000
1111111


浙公网安备 33010602011771号