我在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;
}
如果我是紧挨着彼此碰撞的几行代码,无论是Rand1和Rand2是完全一样的。
printf("Rand1 = %d\n", generateRandom(10, 46));
printf("Rand2 = %d\n", generateRandom(10, 46));
白猪掌柜的
阿波罗的战车
相关分类