Si, ha sido un error al escribir.
Lo del return me he dado cuenta luego, y el free(pass) en el código lo he quitado. ¿Dices que debería liberarla en el main() que es desde donde la llamo?
Respecto a lo de realloc, la verdad no lo sabía, lo había metido porque el código es parte de un trabajo para la universidad, que estamos aprendiendo a programar C, y estaba probando las funciones de asignación dinámica. Si me dices que si no me ahorro mucha memoria puede ser contraproducente, mejor lo quito.
Lo del retroceso... Cuando me lo has dicho, lo he probado y he borrado todo el mensaje de la consola me he reído la verdad jeje. Creo que lo he solucionado poniendo:
Debajo justo del primer "c=_getch();" (Línea 53).
Lo del return me he dado cuenta luego, y el free(pass) en el código lo he quitado. ¿Dices que debería liberarla en el main() que es desde donde la llamo?
Respecto a lo de realloc, la verdad no lo sabía, lo había metido porque el código es parte de un trabajo para la universidad, que estamos aprendiendo a programar C, y estaba probando las funciones de asignación dinámica. Si me dices que si no me ahorro mucha memoria puede ser contraproducente, mejor lo quito.
Lo del retroceso... Cuando me lo has dicho, lo he probado y he borrado todo el mensaje de la consola me he reído la verdad jeje. Creo que lo he solucionado poniendo:
Código (c) [Seleccionar]
if(i==0&&c==8)
continue;
Debajo justo del primer "c=_getch();" (Línea 53).