Ric*_*den 24 c++ random ctime
我正在尝试生成一个在C++中为0或1的随机int.现在,每次运行此代码时都会收到0,我不知道为什么.这有什么问题?
#include <ctime> #include <cstdlib> srand(time(0)); int randomval = rand() % 2; cout << randomval << endl;
Mic*_*ker 151
这被称为运气不好.再试一遍.
cgo*_*ain 23
我知道这是一个较老的问题,但我相信这正确地回答了这个问题.
每次运行该代码时都不要重新生成生成器.
通过每次播种到相同的值,你将得到相同的"随机"数字.请记住,这是一个伪随机数生成器,因此根据种子值,将生成一个"随机"数字.所以如果每次你每次都得到相同的数字,你就用相同的数字播种它.
解决方案是在程序执行中只调用一次srand(time(NULL)).然后,每次调用rand()每次都会给你一个不同的数字.
归档时间:
13 年,10 月 前
查看次数:
33691 次
最近记录:
7 年,6 月 前