Comprobar si una palabra es un palíndromo en C

Con este sencillo programa escrito en C podemos comprobar si una palabra es un palíndromo (una palabra que se lee igual tanto del derecho como del revés). Esta versión la he hecho usando punteros para el acceso a los elementos de la cadena:

#include <stdio.h>
#include <string.h>
 
int main()
{
    char palabra[20];
    int i, j;
    int palindromo = 1;
    printf("Escribe una cadena: ");
    fflush(stdout);
    gets(palabra);
    j=strlen(palabra)-1;
    for(i=0; i<strlen(palabra)/2; i++, j--) {
        printf("Comprobando %c==%c\n", *(palabra+i), *(palabra+j));
        if (*(palabra+i)!=*(palabra+j)) {
            palindromo = 0;
            break;
        }
    }
    if (palindromo)
        printf("\nEs un palíndrimo.\n");
    else
        printf("\nNo es un palíndrimo.\n");
 
    return (0);
}

2 thoughts on “Comprobar si una palabra es un palíndromo en C

  1. Como podría hacerse este ejercicio, pero implementando una función? O sea, una función que reciba como argumento el string y devuelva el parámetro que tú llamas “palíndromo”.

Deja un comentario