我正在写一个应用程序。我使用的是:
int rand_num = rand() % 100;
以获取0到99之间的随机整数。现在,假设我得到了41,然后重新启动我的应用程序,它总是41。一遍又一遍地重复相同的序列,意味着它不是真正的随机序列。
有什么解决方案吗?
发布于 2013-02-13 09:07:16
但你可以播下种子。
srand(time(NULL));
int rand_num = rand() % 100;
仅设置种子一次。
发布于 2013-02-13 09:06:47
每当启动应用程序时,都必须通过调用srand(...)
(通常使用time(0)
)来随机化种子。注意,它是一个伪随机数生成器,即rand()
函数生成的值不是均匀分布的。
发布于 2013-02-13 09:07:06
https://stackoverflow.com/questions/14849866
复制