Pourquoi est-ce que j'obtiens les mêmes nombres aléatoires à chaque itération de boucle ?
Dans votre boucle, vous avez implémenté le srand(time(0) ), dans le but de générer des nombres aléatoires uniques. Cependant, après observation, vous avez remarqué que les variables carSetter et decider impriment systématiquement la même valeur dans chaque exécution de boucle.
Ce comportement est attribuable à la nature de la fonction srand(). Lorsqu'il est appelé, srand() initialise la graine du générateur de nombres aléatoires en fonction du paramètre spécifié. Dans ce cas, time(0) est utilisé, qui représente l'heure actuelle en secondes. Cependant, comme la boucle s'exécute rapidement, la valeur time(0) reste la même tout au long des itérations de la boucle. Par conséquent, la graine ne change pas, ce qui entraîne à chaque fois la même séquence de nombres pseudo-aléatoires.
Pour résoudre ce problème, il est recommandé d'appeler srand() une seule fois au début de votre programme, en initialisant la graine avec une variable ou une valeur qui ne changera pas pendant l'exécution de la boucle. Cela garantira la génération de nombres aléatoires uniques à chaque itération.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!