私は C++ に精通していますが、同じ文字列または異なる文字列のインデックス付き文字を比較する方法がわかりません。次に、int を取り、stringstream を介して文字列に変換する回文の例を示します。
bool ispalindrome(int a) {
stringstream stream;
stream<<a;
string str = stream.str();
int length = str.length();
int offset = length - 1;
for (int i=0; i<=offset; i++ && offset--) {
if (str[i] == str[i + offset]) {
return false;
}
offset--;
}
return true;
}
何らかの理由で、これは常に false と評価されます。長さで報告されていないため、ヌル終了はそれと関係があるとは思わないので、間違った比較方法を使用しているに違いないと思います。strncmp のようなものを見つけることができないようですが、単一の文字が含まれています。
[編集: 固定タイトル]