Cómo finalizar scanf ingresando solo un EOF

Estoy encontrando este problema. Estoy usando while loop para escanear una serie de números y necesito finalizar el escaneo y comenzar el resto de mi programa. Simplemente no puedo entender cómo vaciar el stdin o hacer algo para no presionar Ctrl + D dos veces. Solo necesito enviar EOF una vez para decirle a mi bucle que termine.

while (! feof (stdin))
    {status=scanf ("%d", &array[i]);
    if ( (status != 1 && status != EOF) )
    {       printf("\nWrong input.\n");
            return 1;}
    i++;}

Respuestas a la pregunta(1)

Su respuesta a la pregunta