我是 C++ 的新手,所以这让我很困惑。
这段代码似乎在之后无限循环std::cin
:
#include <iostream>
#include <string>
using namespace std;
int main() {
cout << "My name is Martin. What's yours?" << endl;
string name;
cin >> name; //It seems to loop around here
cout << "Ah, so you are" << name << "." << endl; //It doesn't print this message
return 0;
}
谢谢!
编辑:我不确定我是否理解您的答案,但是当您输入名称并按 Enter 时,它什么也不做。终端只是继续到下一行,让您也可以在该行上写一些东西。它会无限地执行此操作,有点像您在没有任何文本的情况下按 Enter 键。
编辑2:我的错,我应该尝试清理事情。这是 JDoodle 控制台中的内容:
My name is Martin. What's yours?
JDoodle - Timeout - Some common reasons for Timeout
Your Program may have a endless loop
Please check the program and try again or contact JDoodle support at jdoodle@nutpan.com for more info.
我认为这是一个循环的原因是,在一个不写超时的控制台中,我可以一直在新行上继续输入。