Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我们只为内循环提供 ctrl+z 时,为什么下面程序中的外循环会终止?
#include<iostream> int main() { string s1,s2; while(cin >> s1) { cout<<"In loop1\n"; while(cin>>s2) cout<<"In loop 2\n"; cin.ignore(); } }
按 Ctrl+z(在 Windows 上)关闭标准输入流。一旦关闭,它就会保持关闭状态。一旦内部循环完成,它就不会神奇地重新打开。只是没有理由这样做。
Ctrl-Z 将 cin 置于错误状态,因此 cin.ignore 不会。尝试 cin.Clear() 代替。