十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
srand()函数是C语言中产生随机数的一个函数。
成都创新互联公司专注于细河企业网站建设,成都响应式网站建设公司,电子商务商城网站建设。细河网站建设公司,为细河等地区提供建站服务。全流程按需搭建网站,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务
函数原型: void srand(unsigned seed)
功 能: 产生随机数的起始发生数据,和rand函数配合使用
头 文 件: stdlib.h time.h
举例如下:
#include stdio.h
#include stdlib.h
#include time.h
int main(void)
{
int i;
time_t t;
srand((unsigned) time(t));
printf("Ten random numbers from 0 to 99\n\n");
for (i=0; i10; i++)
printf("%d\n", rand()%100);
return 0;
}
运行程序,会发现每次产生的随机数都不一样。这是因为这里采用了时间作为种子,而时间在每时每刻都不相同,所以就产生了"随机"的随机数了。所以,要想产生不同的随机数,在使用rand之前需要先调用srand。
这很正常。C语言的库函数不是只在一个头文件中存在,有些函数在好几个文件中都有原型!
呵呵,这个是我遇到过的问题,并进行了一些研究。其实这是因为srand()函数是一个随机数产生函数,其意思就是指c语言里的随机数都是由它来控制产生的!!!如果在应用srand()函数之前就用随机函数rand(),则相当于使用了srand(1);
而将srand((unsigned)time(null));这条语句放在了for循环里,即是用了srand((unsigned)time(0));故此句语句不变的话,产生的随机数就不变!!!不懂的话可以问我!