Supongo que TAM es el maximo de argumentos del main posibles(segun el enunciado 4), si es asi esta mal usar TAM en la funcion como tamaño de la palabra:
Código C:
Ver originalint cuentaCaracteres (char palabra[TAM]) // esta mal TAM, pone otra cosa
Saludos