所以这是我代码的一个片段:
void reverse(string query, string reverseQuery) {
unsigned int i;
for(i=0; i<query.length(); i++) {
reverseQuery[i] = query[query.length()-1-i];
}
cout << reverseQuery << endl;
return;
}
代码中还包含iostream,string和using namespace std的标头。我面临的问题是,当我尝试输出字符串reverseQuery时,没有任何结果。谁知道为什么?谢谢!
答案 0 :(得分:1)
您的片段应如下所示:
std::string reverse(const string& query) {
std::string reverseQuery(query.length(),0); // <<<<< Ensure that the size is the same
for(unsigned i=0; i<query.length(); i++) {
reverseQuery[i] = query[query.length()-1-i];
}
// cout << reverseQuery << endl;
return reverseQuery;
}
使用标准c ++字符串实现这一目标的简短和惯用代码是
std::string reverseQuery(query);
std::reverse(std::begin(reverseQuery),std::end(reverseQuery));