sleep () atrasa a saída até o final [duplicado]

Possível duplicado:
Por que printf não libera após a chamada, a menos que uma nova linha esteja na string de formato? (em C)

Oi,

Estou usando a função sleep () em C e estou com um problema: não tinha certeza de que era esse o problema, então reduzi o código inteiro para isso:

int main() {

  printf("1");
  sleep(3);
  printf("2");

  return 0;
}

O que eu pensei que isso deveria produzir é 1 .. aguarde 3 segundos .. 2. Em vez disso, o programa aguarda 3 segundos e depois imprime 12. Existe alguma maneira de usar a função de suspensão para obter a primeira saída?

obrigado

questionAnswers(4)

yourAnswerToTheQuestion