Problema na linguagem C usando 'fgets' depois de 'printf' pois 'fgets' é executado antes de 'printf' [duplicado]

Duplicata Possível:
Por que o printf não limpa após a chamada a menos que uma nova linha esteja na string de formatação? (em C)

Estou com um problema usandoprintf efgets como no meu códigoprintf é escrito anteriormente, em seguida, fget, mas ele não é executado, ele é executado apósfgets corre.

enum { max_string = 127 };
static char string[max_string+1] = "";

int main( int argc, char ** argv ) {    
      printf("Type a String: ");
      fgets(string, max_string, stdin);
      printf("The String is %s\n", string);
      return 0;
}

questionAnswers(4)

yourAnswerToTheQuestion