Me da cosa hacer tantas preguntas en este foro, averiguo en Internet sobre el tema, pero no se me está haciendo fácil conseguir las respuetas. De ahí que consulto por aquí, encuentro que es un lugar muy activo donde hay personas que están interesados en ayudar y de esa forma aprenden también.
Vuelvo con un tema de las más tontos, pero no le encuentro una solución. El problema se le debe presentar indudablemente a todo aquel que se incia en C. De hecho en este foro Littlehorse se encargó de hacer una lista de las cosas que no debemos hacer en C como novatos.
El problema que se presenta cuando usamos el scanf y queremos leer varias cadenas de caracteres.
Pongo el siguiente ejemplo que encontré en Internet:
http://www.carlospes.com/curso_de_lenguaje_c/01_11_la_funcion_fflush.phpEJEMPLO:
Si nosotros escribimos este código:
#include <stdio.h>
int main()
{
char a, b, c;
printf( "Introduzca primer caracter: " ); printf( "Introduzca segundo caracter: " ); printf( "Introduzca tercer caracter: " ); printf( "Los valores son: %c, %c, %c ", a
, b
, c
);
return 0;
}
vamos a ver que nos muestra por pantalla esto:
Introduzca primer caracter: f
Introduzca segundo caracter: Introduzca tercer caracter: h
Los valores son: f,
, hVemos que por pantalla los mensajes no aparecen como queremos. En el ejemplo se comenta que una solución para que no ocurra eso es usando la función fflush. Dejando el código así:
#include <stdio.h>
int main()
{
char a, b, c;
printf( "Introduzca primer caracter: " ); printf( "Introduzca segundo caracter: " ); printf( "Introduzca tercer caracter: " ); printf( "Los valores son: %c, %c, %c ", a
, b
, c
);
return 0;
}
Ahora bien, yo compile este programa en mi pc y no me funcionó. Me siguen apareciendo mal los mensajes. Alguno de ustedes que está en el tema, hace uso de la función fflush o qué hacen en este caso? Me debería haber funcionado la función fflush?
Me gustaría hacer uso de otra función como lo es fgets, pero veo que tampoco consigo la solución. Estoy lidiando con la lectura del salto de línea.