代码里的srand(time(0))是什么意思
代码里的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
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:41
阅读量:93
阅读量:47
阅读量:60
阅读量:85