C++随机函数

int x=rand();为什么每次产生的随机数都一样的
2024-12-05 04:46:44
推荐回答(4个)
回答1:

是这样的,C++里的随机数是由一个种子按照固定的算法生成的随机数的序列,如果种子不变,那么随机数序列不变,你每次运行都是取到同一个随机数序列的第一个随机数,所以结果一样。
你可以使用srand(time(NULL));放在你的随机数函数前面,这句的意思是利用系统时间来作为种子,即种子是会改变的,那么每次的结果也就不一样了。

回答2:

没有时间种子话,每次产生的随机数都是一样的。设了时间种子以后,可以根据当前系统的时间来产生随机数,这样随机数每次执行都会不同。

回答3:

rand()叫作随机函数,但是其实它是个伪随机的函数,即每次执行后输出的数字是一样的。你只需用srand((unsigned int)time(0))的括号里面加入一个时间种子就可以每次产生不同的一串数字。

回答4:

因为你没有给出种子,所以每次都一样的。你可以设定系统时钟为种子,这样生成的随机数就是变化的了。