no lo habeis entendido del todo, el problema esq cuando llega aqui:
frases[1].caracteres[1]=c;
Se queda parado, por eso puse lo de "Aqui llega", "Aqui no" porq aunq el "aqui no" está dentro del bucle no lo muestra ni una vez. En cambio el "aqui llega" aparece una vez.
El problema no es el indice ya que puse 1 solo por probar, para ver si no se quedaba parado como ya digo pero hace lo mismo.
De todas formas hice el programa sin este array de otro array ya está terminado.
Gracias a todos de todas formas!