2013-03-17 13 views
14

Jedes Mal, wenn ich versuche, srand Funktion ich diese Warnungimplizite Deklaration der Funktion 'time' [-Wimplicit-function-declaration] |

"implicit declaration of function 'time' [-Wimplicit-function-declaration]|" 

und eine Fenster Fehlermeldung angezeigt wird, wenndie kompilierte Datei bekommen zu verwenden, laufen,
ich ein Anfänger bis c Programmierung bin ich fand das auf einem Lehrbuch, aber es funktioniert nicht für mich.

srand (time()); 
    int x= (rand()%10) +1; 
    int y= (rand()%10) +1; 
    printf("\nx=%d,y=%d", x,y); 

Was muss ich korrigieren?

Antwort

24

Sie müssen sicherstellen, dass Sie die richtigen Header #include, in diesem Fall:

#include <stdlib.h> // rand(), srand() 
#include <time.h> // time() 

Im Zweifelsfall überprüfen Sie die Manpages:

$ man rand

$ man time

Ein weiteres Problem: time() erfordert ein Argument, das NULL sein kann, so sollte auf Ihren Anruf srand() sein:

srand(time(NULL)); 
+0

danke für die antwort .. ich hv enthalten die stdlib.h, aber nach dem einbinden von time.h gibt es mir einen anderen fehler fehler: zu wenige argumente zu funktionieren 'zeit' –

+0

der code ich enthalten funktioniert gut auf online compiler wie code pad .. im mit Codeblocks ide auf meinem PC –

+1

Antwort jetzt aktualisiert, um das fehlende Argument für die Zeit() zu decken. –

1

Beachten Sie, dass time() Funktion aktuelle Zeit verwendet (ausgedrückt in Sekunden seit 1970), die beide in ihren Rückgabewert und in dessen Adressargument.

Verwandte Themen