implizite Deklaration der Funktion ‘Zeit’ [-Wimplicit-function-declaration]|
Lesezeit: 2 Minuten
Chatura Dodamgoda
Wann immer ich versuche zu verwenden srand Funktion verstehe ich Warnung
"implicit declaration of function 'time' [-Wimplicit-function-declaration]|"
und ein Windows-Fehlerbericht erscheint wann Ausführen der kompilierten Datei,
Ich bin ein Anfänger in der C-Programmierung, ich habe das in einem Lehrbuch gefunden, aber es funktioniert bei mir nicht.
srand (time());
int x= (rand()%10) +1;
int y= (rand()%10) +1;
printf("\nx=%d,y=%d", x,y);
Was brauche ich um das zu korrigieren?
Paul R
Sie müssen sicherstellen, dass Sie #include die richtigen Überschriften, in diesem Fall:
Ein weiteres Problem: time() erfordert ein Argument, das sein kann NULLalso Ihr Aufruf an srand() sollte sein:
srand(time(NULL));
Danke für die Antwort. Ich habe die stdlib.h hinzugefügt, aber nach dem Einfügen von time.h gibt es mir einen weiteren Fehlerfehler: zu wenige Argumente, um ‘time’ zu funktionieren
– Chatura Dodamgoda
17. März 2013 um 7:25 Uhr
Der Code, den ich eingeschlossen habe, funktioniert gut auf Online-Compilern wie Codepad. Ich verwende Codeblocks ide auf meinem PC
– Chatura Dodamgoda
17. März 2013 um 7:33 Uhr
man rand funktioniert möglicherweise nicht wie erwartet. Es gibt andere Dienstprogramme namens rand
– Gelees
18. Dezember 2018 um 3:54 Uhr
Acsor
Beachten Sie, dass time() Die Funktion verwendet die aktuelle Zeit (ausgedrückt in Sekunden seit 1970) sowohl in ihrem Rückgabewert als auch in ihrem Adressargument.
Ich hatte dieses Problem, und das Problem war, dass Sie es in Windows einbeziehen müssen sys/time.haber unter Linux brauchen Sie time.h und ich habe es nicht bemerkt.
Ich habe dies behoben, indem ich eine einfache Plattformprüfung hinzugefügt habe: