这个问题源于《c++Primer第五版》p15的一个程序,我写了一个简化代码,如下
输入类型为整形或者浮点型
int val;
while (cin >> val) {
cout << "1" << endl;
}
cout << "over" << endl;
如果重复输入int类型的值的话,即使按了enter也会重复循环,只有在输入非int的值的时候,这个循环才会跳出输出over,或者按ctl+z,然后按enter。
输入类型为字符串或者字符型
char val;
while (cin >> val) {
cout << "1" << endl;
}
cout << "over" << endl;
system("pause");
因为输入任何都会被认为是字符串类型的变量,所以跳出条件为 enter后ctl+z然后enter。