字符串变量顺序

问题描述 投票:0回答:1

我对编码非常陌生,目前正在通过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++ string variables
1个回答
0
投票

我的意思是它可能确实起作用。这里的问题是结果不是您想的那样。

字符串通常默认为空。因此,一个空字符串+一个空格+另一个空字符串=只是一个空格。您很有可能看到了这个空间,但是它看起来是空的,因为空间是空格。

如果要连接用户的输入,则必须这样做之后,您将捕获该输入,因为程序无法通过其他方式知道用户输入的内容。

[如果您仍然感到困惑,很遗憾,很遗憾,我不知道还有什么要告诉您的,这不仅仅是C ++的工作方式。

© www.soinside.com 2019 - 2024. All rights reserved.