c语言中srand()是什么意思?

如题所述

代码里的srand(time(0))的意思是:用当前时间来设定rand函数所用的随机数产生演算法的种子值。

其中,time(time_t *t); 是C标准库函数,如果t是空指针,直接返回当前时间。如果t不是空指针,返回当前时间的同时,将返回值赋予t指向的内存空间。

srand (unsigned seed)函数中参数 unsigned seed 表示随机数产生器的初始值(种子值)。srand设置产生一系列伪随机数发生器的起始点,要想把发生器重新初始化,可用1作seed值。任何共它的值都把发生器匿成一个随机的起始点。rand检索生成的伪随机数。

扩展资料:

随机数生成的相关说明:

1、(double)rand() / RAND_MAX,表示生成一个 0~1.0 之间的随机浮点数:

RAND_MAX指的是 C 语言标准库 <stdlib.h> 中定义的一个宏,是 <stdlib.h> 中伪随机数生成函数 rand 所能返回的最大数值。rand 返回 0~RAND_MAX 之间的随机数。(double)rand() / RAND_MAX得到一个 0~1.0 之间的随机浮点数。

2、srand函数与rand函数的关系:

在任何调用srand之前调用rand与以1作为seed调用srand产生相同的序列。此函数可以设定rand函数所用的随机数产生演算法的种子值。任何大于一的种子值都会将rand随机数所产生的虚拟随机数序列重新设定一个起始点。

参考资料来源:百度百科-time()

参考资料来源:百度百科-srand

参考资料来源:百度百科-RAND_MAX

温馨提示:答案为网友推荐,仅供参考
相似回答