fgets () no espera entrada

Escribí el siguiente código:

int N;
scanf("%d", &N);
int i;
for (i = 0; i < N; i++) {
  char line[LINE_MAX];
  if (fgets(line, LINE_MAX, stdin) != NULL) {
    // do stuff with line here
    printf("%c - %c\n", line[0], line[1]);
  }
}

Tengo un archivo de entrada que tiene el número de líneas que tiene, y luego ese número de líneas seguidas que quiero procesar. Así que leí en el número de líneas enN. Después de eso, usofgets&nbsp;Para obtener la línea para poder procesarla.

Sin embargo,fgets&nbsp;No parece esperar una entrada estándar la primera vez. Siempre me sale de-, y luego espera la entrada. Es decir, la primera iteración del bucle, no está esperando la entrada estándar enfgets&nbsp;y solo imprime dos caracteres vacíos separados por-&nbsp;como miprintf&nbsp;hace.

¿Porqué es eso? Como puedo conseguirfgets&nbsp;¿Esperar entrada cada vez? Siento que es un tema de hilos.