te añado este otro codigo que hace lo mismo (compara un array de punteros con una cadena de caracteres) y es casi igual pero utilizando punteros que son un poco mas eficientes ya que no hacen comprobaciones como los arrays.
Código c:
Ver original#include <stdio.h>
int main(){
char *estaciones[]={"primavera","verano","otoño","invierno"};
char salida[9];
char **p_estac=estaciones, *p_salida=salida;
int n_estac=sizeof(estaciones)/sizeof(estaciones[0]);
int encontrado=0;
printf("escribe con minúsculas el nombre de una estación del año: ");
for(int i=0; i<n_estac; i++)
for(int ii=0; ; ii++)
if(p_estac[i][ii]=='\0' && p_salida[ii]=='\0' && encontrado>0){
printf("\nhas escrito la estación número %i del año correctamente\n", i
+1); return 0;
}
else
if(p_estac[i][ii]==p_salida[ii]) encontrado++;
else { encontrado=0; break; }
printf("\nel nombre que has escrito no es correcto\n\n"); return 0;
}
al final se ve que el problema era por ser la respuesta demasiado larga y la he troceado y si funciona