Ya he entendido, gracias. Pensé en meter el for dentro del while en vez de meter el while dentro del for, pero al final hice así y olvidé ese detalle, como el siguiente caracter no es el '\0' pues se queda pillado en el while y no vuelve a repetir todo el for. Muchas gracias