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

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

 1 #include  "../std_lib_facilities.h"
 2 
 3 int main() {
 4 
 5   cout << "Please enter your first name and age\n";
 6   string first_name;
 7   int age;
 8   cin >> first_name;
 9   cin >> age;
10   cout << "Hello, " << first_name << " (age " << age << ")\n";
11 
12   return 0;
13 }

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

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

猜你喜欢

转载自www.cnblogs.com/tuhooo/p/9279527.html
今日推荐