表头文件
#include<stdlib.h>
定义函数
void srand (unsigned int seed);//srand(设置随机数种子) 其 相关函数 rand
函数说明
srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。
表头文件
#include<stdlib.h>
定义函数
int rand(void)
函数说明
rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。关于随机数种子请参考srand()。
返回值
返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,其值为2147483647。
函数名称: time
函数原型: time_t time(time_t *timer)
函数功能: 得到机器的日历时间或者设置日历时间
函数返回: 机器日历时间
函数说明: timer=NULL时得到机器日历时间,timer=时间数值时,用于设置日历时间,time_t是一个long类型
所属文件: <time.h>
如果在C++中只使用了例如
"int i;i=rand();"这样,使用程序会发现每次得到的随机数都是一样的,据了解在C++中这样做是为了方便调试。
如果要每次都长生不同的随机数,我们则需要在调用 i=rand() 前加上"srand(time(NULL));"这条语句,他的作用是以时间为种子,产生随机数(我们都知道时间是在不断变化的,但两次获取随机数要在1秒后,否则数值还是一样),下面看个例子。
则每次产生的 i 值是不同的。
如果
则每次产生的 i 值是相同的。