我在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));
srand(time(NULL))更改種子值的速度不夠快
慕田峪7331174
2019-12-03 16:33:17