Eingabe innerhalb eines Zeitlimits in Standard C

Ich mache gerade meinen Auftrag und es ist obligatorisch, C-Free 5.0 zu verwenden. Benötigen Sie nur Ihre Hilfe, um dieses Puzzleteil zu lösen. Ich möchte ein Zeitlimit festlegen, innerhalb dessen der Benutzer eine Antwort eingeben kann, bevor diese abläuft. Ich habe diesen Code ausprobiert, aber er wurde bei der Funktion scanf () blockiert. Gibt es eine andere Methode wie eine entsperrende Eingabe oder so. Ich habe versucht zu implementieren '#include <sys/select.h>'aber dieses Programm hat diese Bibliothek nicht.

#include <stdio.h> 
#include <string.h>
#include <time.h>
#include <stdlib.h>

int main()
{
    char st[10];
    printf ("Please enter a line of text : ");
    time_t end = time(0) + 5; //5 seconds time limit.
    while(time(0) < end)
    {
        scanf("%s", &st);
        if(st != NULL)
        {
            printf ("Thank you, you entered >%s<\n", st);
            exit(0);
        }
    }
    main();
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage