我想寫一個程序來反轉一個字符串。我使用了下面的代碼,但不幸的是它沒有工作。我有點困惑,爲什麼發生。我可以將單個字符分配給C++中的字符串嗎?
這裏是我的代碼:
#include <string>
#include <iostream>
using namespace std;
int main()
{
string InputString = "Hello";
string OutputString;
int length;
length = InputString.length();
for (int i=length-1, j=0; i >=0, j<length; i--, j++)
OutputString[j] = InputString[i];
cout << "The reverse string of " << InputString << " is "
<< OutputString << ".\n";
return 0;
}
我的輸出是: 你好的反向字符串。
OutputString [J]? – HazemGomaa
我也*強烈*推薦編寫'const int length = InputString.length();'儘可能經常使用'const'習慣。它使很多錯誤更容易看到,編譯器可以喜歡它進行優化。 –
最後,'length_t'用於'length','i'和j'是一個很好的習慣。容器傾向於使用'size_t'作爲其長度和索引變量。如果您遵循相同的風格,從長遠來看,它可以節省很多麻煩。 –