Me estas siendo de mucha ayuda, aguirremanuel ;)
He cambiado el código añadiendo la función para que calcule el tamaño de la cadena, y he modificado los bucles, y ahora creo que si tienen sentido.
El código ha quedado así:
Código C:
Ver original#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TAM 40
int calcula_longitud (char []);
int palindromo(char[],int);
void main (void){
int res_palind,tam_cadena;
char cad[TAM];
printf("\nIntroduce la cadena\n");
tam_cadena=calcula_longitud(cad);
res_palind=palindromo(cad,tam_cadena);
if(res_palind
==0) printf ("La cadena '%s' es un palindromo",&cad
); else printf ("La cadena '%s' NO es un palindromo",&cad
);
}
int calcula_longitud (char a[]){
int i=0;
while (a[i]) i++;
return i;
}
int palindromo(char cad[],int tam_cadena){
int i=0,j,k;
while (cad[i]){
for(j=0;j<tam_cadena/2;j++){
for(k=tam_cadena/2;k>=tam_cadena;k++){
return (cad[j]-cad[k]);
}
}
i++;
}
}
Sigue sin funcionar (si compila), y creo que el error puede estar en la linea 23...sino, no se donde!!
Un saludo y gracias!