Wydanie w języku C przy użyciu „fgets” po „printf”, gdy „fgets” uruchamia się przed „printf” [duplikat]

Możliwy duplikat:
Dlaczego printf nie opróżnia po wywołaniu, chyba że nowa linia znajduje się w ciągu formatowania? (w C)

Mam problem z używaniemprintf ifgets jak w moim kodzieprintf jest napisane wcześniej, niż fget, ale nie działa, działa pofgets biegnie.

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