所以这是我的代码片段:
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 的 header 也包含在代码中。我面临的问题是,当我尝试输出字符串 reverseQuery 时,没有任何结果。任何人都知道为什么?谢谢!
最佳答案
你的片段应该是这样的:
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));
关于c++ - 似乎无法打印出我的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42176158/