[C con Clase] Dudas con printf y scanf

Jose Luis joselubar en gmail.com
Dom Dic 30 19:17:13 CET 2007


El día 30/12/07, Apokathastasis <apokathastasis en gmail.com> escribió:

El problema que tienes se debe al manejo que das al buffer de entrada
> (stdin o standard input). Para entenderlo mejor te lo ilustraré con tu
> propio ejemplo.
>
> * Cuando aparece el menu tecleas 2 caracteres 1 e INTRO ('\n') los
> cuales quedan en stdin.
> * Después lees *un* solo caracter, por lo que el INTRO queda en stdin.
> * Cuando se ejecuta el ciclo por segunda vez llevas acarreando un
> INTRO por lo que al llegar al scanf es el caracter que lee.
> * Cuando se ejecuta el ciclo por tercera vez se detiene porque ya no
> hay nada en stdin y entonces scanf vuelve a esperar una entrada.
>
> Para solucionar esto puedes utilizar la función fflush() con stdin
> como argumento después de scanf.
>
> Muy bien, he puesto fflush(stdin) antes de scanf y va perfecto.
OK, resuelto.

Muchas gracias.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20071230/4c329e22/attachment.html>


Más información sobre la lista de distribución Cconclase