我对编码非常陌生,目前正在通过Bjarne Stroustrup的书“编程:使用C ++的原理和实践”来学习。
我正在使用以下示例尝试将字符串连接起来(根据要求编辑实际代码):
我没有提到该程序有效。但是,只要我输入两个名称,它都会显示为空白。
#include "std_lib_facilities.h"
int main()
{
string first;
string second;
string name = first + ' ' + second;
cout << "Please enter your first and second names\n";
cin >> first >> second;
cout << "Hello, "<<name<<'\n';
}
我只想说这不是书中写的方式。我只是想玩不同的设置,例如将所有字符串变量放在一个区域中。但是,我发现String name = first + ' ' +second;
不起作用,除非将其放在cin >> first >> second;
行之后。对此有解释吗?
本书参考代码:
int main ()
{
cout<<"Please enter your first and second name\n";
string first;
string second;
cin>>first>>second;
string name=first +' '+second;
cout<< Hello, "<<name<<'\n';
}
我的意思是它可能确实起作用。这里的问题是结果不是您想的那样。
字符串通常默认为空。因此,一个空字符串+一个空格+另一个空字符串=只是一个空格。您很有可能看到了这个空间,但是它看起来是空的,因为空间是空格。
如果要连接用户的输入,则必须这样做之后,您将捕获该输入,因为程序无法通过其他方式知道用户输入的内容。
[如果您仍然感到困惑,很遗憾,很遗憾,我不知道还有什么要告诉您的,这不仅仅是C ++的工作方式。