我有一個關於在C++中比較字符串的問題。我的下面的代碼應該檢查一個單詞是否是迴文(前後拼寫相同)。問題是我的if語句(s1 == s2)永遠不會計算爲true。我覺得在記憶中這兩個字符串是不同的,但我沒有任何具體的證據。有什麼建議?謝謝!使用==運算符的C++字符串比較
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1, s2;
cin >> s1;
for(int i = 0; i <= s1.size(); i++){
s2.push_back(s1[(s1.size() - i)]);
}
cout << s1 <<endl;
cout << s2 <<endl;
if(s1 == s2){
cout << "Correct" <<endl;
}
else {
cout << "Incorrect" <<endl;
}
return 0;
}
我最好的建議是顯示兩個字符串的值並檢查自己。如果沒有,請在調試器下運行您的程序。逐行瀏覽每一行,並確定它是否按預期行事。 – 2012-02-17 21:18:05