最佳答案
我有以下一段代码,提示用户输入他们的猫的年龄和名字:
#include <iostream>
#include <string>
int main()
{
int age;
std::string name;
std::cin >> age;
std::getline(std::cin, name);
if (std::cin)
{
std::cout << "My cat is " << age << " years old and their name is " << name << std::endl;
}
}
我发现的是,年龄已经被成功地解读了,但名字却没有。下面是输入和输出:
Input: "10" "Mr. Whiskers" Output: "My cat is 10 years old and their name is "
为什么从输出中省略了名称?我给出了正确的输入,但代码却忽略了它。为什么会这样?