c语言中 srand(time(NULL)); 这句话是什么意思(尤其是 NULL)c语言中 srand(time(NULL)); 的意思是:使用当前时间进行随机数发生器的初始化 。
time_t time(time_t *t); 是C标准库函数,如果t是空指针(NULL),直接返回当前时间 。如果t不是空指针,返回当前时间的同时,将返回值赋予t指向的内存空间 。time() 是指返回自 Unix 纪元起的当前时间的秒数的函数 , 主要用来获取当前的系统时间,返回的结果是一个time_t类型 。
srand函数是随机数发生器的初始化函数 。原型:void srand(unsigned int seed); srand和rand()配合使用产生伪随机数序列 。
扩展资料:
srand函数的相关信息:
1、语法:void srand (unsigned seed);
2、参数说明:unsigned seed:随机数产生器的初始值(种子值) 。
3、功能说明:srand设置产生一系列伪随机数发生器的起始点,要想把发生器重新初始化,可用1作seed值 。任何共它的值都把发生器匿成一个随机的起始点 。rand检索生成的伪随机数 。在任何调用srand之前调用rand与以1作为seed调用srand产生相同的序列 。
此函数可以设定rand函数所用的随机数产生演算法的种子值 。任何大于一的种子值都会将rand随机数所产生的虚拟随机数序列重新设定一个起始点 。
4、包含文件:stdlib. h
5、返回值:无
参考资料来源:百度百科-time()
参考资料来源:百度百科-srand
详细介绍一下C语言里面的随机数产生函数random怎么用rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种了,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候 , 就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后 , 这个种子的值是定了的 , 除非你破坏了系统 , 为了改变这个种子的值 , C提供了 srand()函数,它的原形是void srand( int a).
初始化随机产生器既rand()函数的初始值 , 即使把种子的值改成a; 从这你可以看到通过sand()函数 , 我们是可以产生可以预见的随机序列,那我们如何才能产生不可预见的随机序列呢?我们可能常常需要这样的随机序列 , 是吧 。利用srand((unsign)(time(NULL))是一种方法 , 因为每一次运行程序的时间是不同的.
下面讲一讲在C语言里所提供的随机数发生器的用法 。现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数 。它们就是rand()和srand()函数 。这二个函数的工作过程如下:
1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535;
2) 然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间)
3) 根据需要多次调用rand(),从而不间断地得到新的随机数;
4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果 。
以下是一个产生随机数的例子:
需要首先使用随机数“种子”初始化,srand函数:
#i nclude stdlib.h
#i nclude stdio.h
#i nclude time.h//使用当前时钟做种子
void main( void )
{
int i;
srand( (unsigned)time( NULL ) );//初始化随机数
/* 打印10个随机数. */
for( i = 0; i10;i)
printf( " %d\n", rand() );
}
#include stdlib.h
#include time.h
main
{
int i;
srand(time(0)); //初始化随机种子
i = rand(); //产生随机数
}
首先,加一个"#includestdlib.h
然后设一个变量,如j,j=rand(),就可以给j赋一个1~32767的随机数,如果要获得一个随机函数的十位(其它类似),只需令j=j就行.
添加头文件 #includetime.h
然后在文件中添加 srand((unsigned)time(NULL));
【c语言随机函数发生器 c语言随机函数生成】srand()是用来初始化随机种子数的,因为rand的内部实现是用线性同余法做的 , 它不是真的随机数,只不过是因为其周期特别长 , 所以有一定的范围里可看成是随机的.
上面是有个随机种子的说明及方法,为了避免重复.然后再 用 随机函数,rand() 就行了.
头文件是 stdlib.h
random() 产生随机数为 0或1
random(n) 产生随机数为 0到n之间的一个随机数
rand() 产生 0到32768之间的一个随机数
函数名: randomize
功能: 初始化随机数发生器
用法: void randomize(void);
程序例:
#include stdlib.h
#include stdio.h
#include time.h
int main(void)
{
int i;
randomize();
printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i10; i)
printf("%d\n", rand() % 100);
return 0;
}
C语言srand(time(0))这是用于初始化随机函数发生器的c语言随机函数发生器,计算机中的随机函数在生成一个随机数时需要用到一个称为随机数发生器的东西c语言随机函数发生器 , 如果不对其进行初始化,每次生成的随机数就会是相同的 。
srand函数就用来初始化这个发生器,参数time(0)能够生成从1970年1月1日到当前机器时间的秒数,这个数在c语言随机函数发生器你每次执行程序的时候都会不断增长、变化,所以用它当做种子来初始化发生器,就会生成不同的随机数了 。
c语言随机函数发生器的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于c语言随机函数生成、c语言随机函数发生器的信息别忘了在本站进行查找喔 。
推荐阅读
- 头盔直播设备,头盔直播介绍
- pg查询表的建表sql,sql查询结果建表
- 角色扮演商店游戏材料,角色扮演店铺
- html5视频播放消息的简单介绍
- go语言能直接运行吗 go语言可以做web开发吗
- 服装erp生产系统设计方案,服装erp生产系统设计方案
- 发开车的视频说什么,发开车的视频说什么话好听
- 小米子路由器怎么关灯,如何关闭小米路由器灯光
- oracle删除用户表空间,oracle 删除用户及表空间