【发布时间】:2017-03-28 21:11:03
【问题描述】:
#include <iostream>
using namespace std;
int main()
{
cout << "Please enter your name and age\n";
string first_name;
int age;
cin >> first_name;
cin >> age;
cout << "Hello, " << first_name << " (age " << age << ")!\n";
}
如果我为age 或任何其他字符串输入Carlos,我会得到0。这是如何工作的(为什么)?
【问题讨论】:
-
你在学习的哪本 C++ 教科书没有详细解释这一点?
-
肯定不是“任何其他字符串”。如果你输入 42,你会得到 42。
-
为什么这样有效是什么意思?您正在输入一个字符串,但将其读入一个 int。最好的猜测是忽略您的输入,因为它与类型不匹配并返回一些默认值 (0)。注意 int age 不会将年龄初始化为任何默认值。
-
哈哈@那些不知道这是怎么回事的人,对别人居高临下
标签: c++