Por que printf () não imprime nada antes de dormir ()?
Estou apenas aprendendo C com o livro de Kernighan e Ritchie; Eu estou no básico do quarto capítulo (funções). Outro dia fiquei curioso sobre osleep()
função, então tentei usá-lo assim:
#include <stdio.h>
#include <unistd.h>
int main(void)
{
printf(" I like cows.");
sleep(5);
return 0;
}
O problema é a saída do programa, parece que ele faz osleep()
primeiro e depois oprintf()
, em outras palavras, aguarda cinco segundos e depois imprime a sequência. Então pensei, talvez o programa chegue asleep()
tão rápido que não deixaprintf()
fazer o trabalho dele como eu quero, que é imprimir a string e depois dormir.
Como posso mostrar a string e colocar o programa em suspensão? O compilador é o GCC 3.3.5 (propolice) no OpenBSD 4.3.
PS: Eu não sei como você coloca aqui as linhas do pré-processador corretamente.