Una consulta, a que se debe este error, hace horas estoy trancado y no entiendo que pasa, al final copie la f:
Hola Alejandro.
¿Qué es la "f" que mencionás?
Habría dos posibles errores:
1) ¿Por qué se imprime "221" en vez de "1221"?
2) ¿Por qué se imprime que el largo es 4, si el largo de "221" es 3?
¿O el segundo no lo considerás un error porque asumís que se está imprimiendo el largo de "1221"? Para ver de qué striing se está calculando el largo podrías, por ejemplo, imprimr frase en la función esPalindrome antes de la llamada a longitud, o al principio de la función longitud.
La función longitud está calculando uno de más, porque cuenta el '\0', que no es parte del string, sino el carácter que indica su finalización.
Con respecto al primer problema. El main parece ser una copia de lo que está en el módulo para testear que subimos, e incluye scanf("%*c"). Esto funciona en ese entrorno, en el cual primero se lee el nombre del comando ('esPalindrome' en este caso). Luego de ese nombre y antes del parámetro hay un espacio en blanco. El propósito de scanf("%*c") es ignorar ese espacio en blanco. En cambio en el main que vos mostrás lo que hace es ignorar el primer carácter del string que se esta leyendo.
¿Es alguno de estos el error al que te referís?
Muchas gracias por responder tan rápido, ahí acomode, eran los dos errores que menciono, ya funciona perfecto, con los otros ejercicios del practico no tuve problema. Voy a seguir con los demás prácticos este fin de semana antes de comenzar la tarea 2.
Que tenga buen fin de semana. Saludos!