相关疑难解决方法(0)

从c ++函数返回一个字符串

我是初学者,我一直在读一本关于C++的书,我正在写一个关于函数的章节.我写了一个来反转一个字符串,将它的副本返回给main并输出它.

string reverseInput(string input);

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;
}
Run Code Online (Sandbox Code Playgroud)

以上似乎都有效.更改以下代码时会发生此问题:

string input="Test string";
Run Code Online (Sandbox Code Playgroud)

至:

string input;
cin>>input;
Run Code Online (Sandbox Code Playgroud)

在此更改之后,反向函数仅返回第一个输入字的反转,而不是整个字符串.我无法弄清楚我哪里出错了.

最后,是否有更优雅的方法通过使用引用来做到这一点,而无需复制输入,以便输入变量本身被修改?

c++ string words function

1
推荐指数
1
解决办法
300
查看次数

标签 统计

c++ ×1

function ×1

string ×1

words ×1