以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  我有一C语言问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=24994)


--  作者:ycj888
--  发布时间:12/4/2005 9:45:00 PM

--  我有一C语言问题
srand((unsigned)time(&t)); 这是什么函数啊
--  作者:firstway
--  发布时间:12/5/2005 12:23:00 PM

--  
为随机数设置种子
详细如下:
srand(设置随机数种子)
相关函数 rand
表头文件 #include<stdlib.h>
定义函数 void srand (unsigned int seed);
函数说明 srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

范例 /* 产生介于1 到10 间的随机数值,此范例与执行结果可与rand()参照*/
#include<time.h>
#include<stdlib.h>
main()
{
int i,j;
srand((int)time(0));
for(i=0;i<10;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf(“ %d “,j);
}
}
执行
5 8 8 8 10 2 10 8 9 9
2 9 7 4 10 3 2 10 8 7


--  作者:firstway
--  发布时间:12/5/2005 12:26:00 PM

--  
并且(unsigned)time(&t)是取当前时间作为种子参数
关于time()函数
如下:
表头文件 #include<time.h>
定义函数 time_t time(time_t *t);
函数说明 此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t 并非空指针的话,此函数也会将返回值存到t指针所指的内存。
返回值 成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno中。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms