#include #include #include
int est_palidrome(char *str) { bool result = false; //単語の文字が1文字以下の場合 if(strlen(str) <= 1) 結果= true; //それ以外の場合、最初の文字 は latest else if(str[0] == str[strlen(str)-1]) { //le はじめに 最後の文字 がチェックされ、削除されます char temp[strlen(str)-2]; //memcpy では、パーツをコピーできます str in temp -2: '\0' + 最後に削除される文字 memcpy( temp, &str[1], strlen(str) - 2スパン>); // '\0' は境界を示します temp[strlen(str) - 2] = '\0'; //再帰的な呼び出し 結果 = est_palidrome(temp); } 結果を返します。 }
int main() { char str[20]; printf("文字列を入力してください。\n"); scanf("%s",str);
if(est_palidrome(str)) printf("It's a palindrome!\n"); else printf(回文じゃない!\n"); system("一時停止"); } |