Red de conocimiento del abogados - Preguntas y respuestas penales - Respecto a la función del lenguaje C, mira, el resultado que quiero es que eeee permanezca en la pantalla durante 3 segundos y luego desaparezca. ¿Por qué no hay nada cuando se ejecuta?

Respecto a la función del lenguaje C, mira, el resultado que quiero es que eeee permanezca en la pantalla durante 3 segundos y luego desaparezca. ¿Por qué no hay nada cuando se ejecuta?

Motivo: La función printf() es una salida almacenada en búfer de línea.

Printf() no envía parámetros directamente a la pantalla, sino que los envía al búfer de salida. El búfer de salida es un área de memoria con un tamaño general de 4096 bytes, lo que significa que puede almacenar 4096 caracteres.

Cuando ocurre una de las siguientes situaciones, el contenido del búfer de salida se enviará a la salida estándar (como el monitor), lo que se denomina actualización del búfer:

1 . La salida del búfer de línea se encuentra cuando se alcanza el carácter de nueva línea

2. Cuando se requiere entrada

3. Cuando finaliza el programa;

5. Al llamar a la función fflush(stdout) que obliga a actualizar el buffer de salida.

Aunque se desconoce la implementación específica de la función de limpieza de pantalla clrscr(), también hará que el búfer de salida se actualice y posteriormente borre el contenido de la pantalla.

Si no comprende el contenido anterior, puede reemplazar printf("eeee"); con los siguientes formularios para ejecutar:

1. Agregue un carácter de nueva línea al final:

printf("eeee\n");

2. Llame a fflush(stdout), la diferencia con lo anterior es que no ajustará:

printf("eeee");

fflush(stdout);

3. Inserta un carácter de nueva línea en el medio:

printf("ee\nee" );

4. Inserte un carácter de nueva línea en el medio y llame a fflush():

printf("e\neee");

fflush(stdout) );