Hola, he estado buscando por el foro y no he encontrado nada y me ha parecido extraño, pero bueno, la cosa es quee stoy haciendo mítico programa de decir si una palabra es palíndroma o no con una funcion recursiva y he echo algo pero siemrpe sale que es palíndroma, akí tienen el código y ahber si me pueden ayudar
Código:
#include <stdio.h> #include <string.h> int esPalin(char *ini, char *fin);
main() { char str[20],*ini,*fin; printf("\nIntroduce una palabra: "); gets(str); ini=str[0]; fin=str[strlen(str)-1]; if(esPalin(ini,fin)) printf("\n%s\tEs Palindromo",str); else printf("\n%s\tNo es Palindromo",str); getchar(); }
en if(&ini!=&fin) comparacion de direccion de memoria deberias poner if(*ini!=*fin) comparacion del valor en esa direccion de memoria
en return espalin(ini++,fin--) el valor es aumentado recien despues de que ya lo pasaste deberias poner return espalin(++ini,--fin) los valores son modificados antes de pasarselos como parametros