gpt4 book ai didi

c - srand(time(NULL)) 改变种子值的速度不够快

转载 作者:太空狗 更新时间:2023-10-29 16:28:18 25 4
gpt4 key购买 nike

<分区>

我用 C 编写了一个简单的随机数生成器。int l 是下限,int u 是上限。

它工作得很好,但我有一个关于播种的问题。如果我要在循环中运行它,time(NULL) 不会足够快地更改种子值,从而无法阻止获得一系列完全相同的连续随机数。

我想知道其他人是如何解决这个问题的。我在网上找到的所有示例都使用 time(NULL) 作为种子值生成器。

int generateRandom(int l, int u)
{
srand(time(NULL));

int r = rand() % ((u - l) + 1);
r = l + r;

return r;
}

如果我将这些代码行紧挨着运行,Rand1Rand2 将完全相同。

printf("Rand1 = %d\n", generateRandom(10, 46));
printf("Rand2 = %d\n", generateRandom(10, 46));

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com