为什么当我们只为内部循环提供 ctrl+z 时,以下程序中的外部循环会终止?
#include<iostream>
int main()
{
string s1,s2;
while(cin >> s1)
{
cout<<"In loop1n";
while(cin>>s2)
cout<<"In loop 2n";
cin.ignore();
}
}
按 Ctrl+z(在 Windows 上)关闭标准输入流。关闭后,它将保持关闭状态。一旦内部循环完成,它就不会神奇地重新打开。只是没有理由会这样做。
Ctrl-Z 将 cin 置于错误状态,因此 cin.ignore 现在不会。试试辛。清除() 代替。