Bonjour,
L'autre jour, j'ai eu un petit soucis avec ces deux fonctions.
En effet, il me fallait un nombre aléatoire compris entre 0 et 4 (pour un bête test, pas dans un gros programme donc).
J'ai donc un code du style :
... et je me retrouve toujours avec la même valeur de i !Code:
2
Si par contre j'écris :
... j'ai toujours le même nombre en premier, mais les autres changent d'une exécution à l'autre.Code:
2
3
4
5
Si j'affiche juste rand() :
... ça me donne : 14010, 14039, 14066, ... Pas si aléatoire que ça :?Code:
2
3
Je ne sais pas exactement comment fonctionnent rand() et srand(), mais je crois que srand() définit la première valeur de rand(), qui sert ensuite à calculer la suivante, et ainsi de suite.
J'aurai cru que la valeur donnée à srand() était un peu comme un indice dans un tableau de nombre aléatoires, mais il semblerai qu'il y ait une relation linéaire entre la valeur donnée à srand() et la première valeur de rand()...
C'est intentionnel ? (je ne trouve pas ça très malin, m'enfin il doit y avoir une raison)
Quelle valeur je devrais donner à srand() pour éviter ça ?
Merci d'avance pour vos conseils.
Edit : j'utilise gcc.

