Wykrywanie EOF w C

Używam następującego kodu C, aby odebrać dane od użytkownika do momentu pojawienia się EOF, ale problem polega na tym, że ten kod nie działa, kończy się po pierwszym wprowadzeniu. Czy ktoś może mi powiedzieć, co jest nie tak z tym kodem. Z góry dziękuję.

float input;

printf("Input No: ");
scanf("%f", &input);

while(!EOF)
{
    printf("Output: %f", input);
    printf("Input No: ");
    scanf("%f", &input);
}

questionAnswers(6)

yourAnswerToTheQuestion