#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char *cad;
if (argc != 2)
printf("La sintaxis correcta es $./palindromo palabra\n");
else {
cad = argv[1];
if (esPalindromo(cad)==1)
printf("%s es palindromo\n",cad);
else
printf("%s no es palindromo\n",cad);
}
return 0;
}
int esPalindromo(char *cad)
{
int res;
int i=0; // una variable i empieza apuntando al primer elemento
int j=strlen(cad)-1; // una variable j empieza apuntando al último elemento
// Mientras los índices no se crucen y los caracteres coincidan...
while ( (i<j) && (*(cad+i) == *(cad+j)) )
{
i=i+1; //...avanzo i hacia la derecha
j=j-1; // ...avanzo j hacia la izquierda
}
if (i>=j)
res = 1;
else
res = 0;
return (res); // es palíndromo si los índices llegan a cruzarse
}