web-dev-qa-db-fra.com

déclaration implicite de la fonction 'time' [-Wimplicit-function-declaration] |

Chaque fois que j'essaie d'utiliser la fonction srand, je reçois ce message warning  

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

et un rapport d'erreur Windows apparaît lorsque exécute le fichier compilé ,
Je suis novice en programmation, j’ai trouvé cela dans un manuel, mais cela ne fonctionne pas pour moi. 

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

De quoi ai-je besoin pour corriger cela? 

15
Chathura Dodamgoda

Vous devez vous assurer que vous #include les bons en-têtes, dans ce cas:

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

En cas de doute, consultez les pages de manuel:

$ man Rand

$ temps homme

Un autre problème: time() nécessite un argument, qui peut être NULL. Votre appel à srand() doit donc être:

srand(time(NULL));
27
Paul R

Notez que la fonction time() utilise l'heure actuelle (exprimée en secondes depuis 1970) à la fois dans sa valeur de retour et dans son argument d'adresse.

1
Acsor