如下代码所示,我希望将字符串s逆置,为什么如下打印逆置的s1打印不出来?
小白求教,以及如何实现逆置呢?
string s,s1;
cin>>s;
int len=s.length();
//reverse
for(int i=0;i<len;i++){
s1[len-i-1]=s[i];
}
cout<<s<<endl;
cout<<s1<<endl;
加一行赋值就行了,你要做转换,string需要初始化的:
string s, s1;
cin >> s;
int len = s.length();
s1 = s;
//reverse
for (int i = 0; i < len; i++){
s1[len - i - 1] = s[i];
}
cout << s << endl;
cout << s1 << endl;
return 0;
你看一下这段代码,要用[]进行赋值,你得初始化:
string s1 = "123456";
//string s1 = "";
for (int i = 0; i < 6;i++)
{
s1[i] = 'a' + i;
}
cout << s1 << endl;
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s,s1;
cin>>s;
s1 = s; //加上
int len=s.length();
//resverse
for(int i=0;i<len;i++){
s1[len-i-1]=s[i];
}
cout<<s<<endl;
cout<<s1<<endl;
return 0;
}