首页 > 解决方案 > 反向字符串程序无法正常工作

问题描述

我尝试用 C++ 编写一个字符串反转程序。虽然看起来很简单,但我知道为什么我没有得到正确的输出。 这是我的代码:-

#include<iostream>
#include<string>

using namespace std;

string Reverse_string( string &s ){
    for( size_t i{}; i<s.size() ; i++ ){
        s.at(i)= s.at( s.size()-1-i );
    }
    return s;
}
int main(){
    cout<<"Enter the string you want to reverse: ";
    string s{};
    getline(cin,s);
    cout<<"\nThe reversed string is :"<< Reverse_string(s) << endl;

    return 0;
}

这是我的输出:- 输入要反转的字符串:字符串

反转的字符串是 :gniing

请帮助我找到错误!

标签: c++string

解决方案


而不是使用函数。您可以只使用头文件#include <algorithm>。有一个内置reverse函数。

#include <iostream> 
#include <algorithm>

int main()
{
    std::string s;
    std::cout << "Enter the string you want to reverse: ";
    std::cin >> s;
    std::reverse(s.begin(), s.end());
    std::cout << "The reversed string is: " << s;
    return 0;
}

推荐阅读