回复 10楼 东方罗密欧
如果我没理解错误的话,足下的意思是:当输入流被标记错误状态,那么输入流的缓冲区将被冻结,由于输入流的输入机制是当按下回车换行符时,从缓冲区的第一个位置指针扫描,扫描到回车换行符之前的字符,然后将回车换行符流在了缓冲区,故而,当数据被冻结时,直接会跳过错误的数据而读入回车换行符,于是输入读入了空字符(据我所知gets函数不能连用就是因为会读入空字符串)。但是尊兄细看,如果是这样的机制,那么我在cin>>arr这行就应该会重置arr的数据才对,因为它读入了空字符串,但实际上,它并没有重置——它没有被改动过——应该是说此时的输入流无效才对。
另外,如果刷新了输入流,我原来在数字字符尾输入的字符串何去何从呢?望启发童蒙。