C++学习笔记(HelloWorld,类型和值)

时间:2024-01-06 16:11:02

现在有一个从控制台读取输入的小程序:

 #include  "../std_lib_facilities.h"

 int main() {

   cout << "Please enter your first name and age\n";
string first_name;
int age;
cin >> first_name;
cin >> age;
cout << "Hello, " << first_name << " (age " << age << ")\n"; return ;
}

如果你输入了"Carlos 22",>>操作符会将Carlos读入first_name,将22读入age。为什么它不将"Carlos 22"全部读入first_name呢?这是由于按照规定,读取字符串会被空白符所终止,包括空格、换行和tab字符。除此之外,空格会在缺省的情况下被>>忽略。如果你输入的是"22 Carlos",你将会看到奇怪的东西。22按照字符串进行读取,但是Carlo因为不是一个整数,因此它不会被读取,age没有被赋一个初始值,而是内存中的一个垃圾值。<<和>>都是对类型敏感的。

关于用C++中从控制台读取带空格的字符串可以自行查找。