Проверьте, является ли слово палиндромом в C

#include < stdio.h>
#include < stdlib.h>
#include < string.h>

int est_palidrome(char *str)
{
    bool result = false;
    //если слово содержит не более 1 символа
    if(strlen(str) <= 1)
        результат = истина;
     
    //в противном случае, если первый символ
    совпадает с последним
    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("Это палиндром!\n");
    else
        printf(Это не палиндром! \n");
    system("pause");
}