私は単語のPalindromeを見つけたいと思います。何が間違っている?Find Palindrome
主な機能:
int size;
string input;
cin>>input;
size = input.length();
if(testPalindrome(input,size-1,0))
cout<<"It's Palindrome";
else
cout<<"It's not Palindrome";
そしてtestPalindrome機能は次のとおりです。
bool testPalindrome (string pal , int last, int first){
if (pal[first] != pal[last])
return false;
else{
if (first<last)
testPalindrome(pal,last-1,first+1);
else
return true;
}
}
私はthis linkを読み、回文を決定するための答えを見つけましたが、なぜこの1が動作していませんか?
デバッガを使用して手順を覚える必要があるようですあなたのコードを通して。良いデバッガを使用すると、プログラムを1行ずつ実行し、どこからずれているかを確認することができます。これはプログラミングをする場合に不可欠なツールです。さらに読む:** [小さなプログラムをデバッグする方法](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)** – NathanOliver
あなたの 'testPalindrome'には、何も返さない。これは*未定義の動作*につながります。良いコンパイラはあなたに警告を叫んでいたはずです。 –
"働かない"より具体的にしてください。プログラムが「うまくいかない」という無数の方法があります。 – molbdnilo