La Función Fflush En Lenguaje C
¿Para qué sirve la función fflush en C? |
|
Ejemplo 1: Si ejecutamos el siguiente programa: |
|
#include <stdio.h>
int main()
{
int a, b;printf( "Introduzca el primer numero: " );
scanf( "%d", &a );
printf( "Introduzca el segundo numero: " );
scanf( "%d", &b );
printf( "Los valores son: %d, %d ", a, b );
return 0;
} ||
|
por pantalla veremos algo parecido a: |
|
Introduzca el primer numero: 76
Introduzca el segundo numero: 45
Los valores son: 76, 45 |
|
|
Obsérvese que, cuando se ejecutascanf, por ejemplo, en la primera vez
scanf( "%d", &a );
el programa se detiene a la espera de que el usuario teclee el dato de entrada requerido, el cual es almacenado, temporalmente, en elbuffer (memoria intermedia) de la entrada estándar. Y cuando se pulsa la tecla INTRO, es, en ese momento, cuando a la variable a se le asigna el valor introducido. Pero, además, se produce un salto delínea automático, de forma que, después de introducir el número 76, la siguiente instrucción se muestra una línea más abajo. De igual forma, después de la instrucción
scanf( "%d", &b );
tambiénse produce un salto de línea automático. En este ejemplo todo ha ido muy bien, sin embargo, se tiene que tener especial cuidado si utilizados scanf para leer caracteres.
Ejemplo 2: En el siguienteprograma: |
|
#include <stdio.h>
int main()
{
char a, b, c;
printf( "Introduzca primer caracter: " );
scanf( "%c", &a );
printf( "Introduzca segundo caracter: " );
scanf("%c", &b );
printf( "Introduzca tercer caracter: " );
scanf( "%c", &c );
printf( "Los valores son: %c, %c, %c ", a, b, c );
return 0;
} |
|
|
por pantalla se verá algo similar a: ||
Introduzca primer caracter: f
Introduzca segundo caracter: Introduzca tercer caracter: h
Los valores son: f,
, h |
|
|
En esta ocasión, ¿por qué no se ejecuta, correctamente, la...
Regístrate para leer el documento completo.