我是一个初学者,我一直在阅读一本关于 C++ 的书,我正在阅读关于函数的一章。我写了一个来反转一个字符串,将它的副本返回给 main 并输出它。
字符串反向输入(字符串输入);
int main()
{
string input="Test string";
//cin>>input;
cout<<reverseInput(input);
return 0;
}
string reverseInput(string input)
{
string reverse=input;
int count=input.length();
for(int i=input.length(), j=0; i>=0; i--, j++){
reverse[j]=input[i-1];
}
return reverse;
}
以上似乎工作。当我更改以下代码时会出现问题:
string input="Test string";
到:
string input;
cin>>input;
在此更改之后,reverse 函数仅返回第一个输入单词的反转,而不是整个字符串。我不知道我哪里出错了。
最后,有没有更优雅的方法通过使用引用来做到这一点,而不复制输入,从而修改输入变量本身?