c语言中 srand(time(NULL)); 这句话是什么意思(尤其是 NULL)

 我来答
八哥说科技
高粉答主

2019-09-15 · 分享科技资讯,共享科技生活
八哥说科技
采纳数:111 获赞数:78616

向TA提问 私信TA
展开全部

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

小鹤思思
推荐于2017-09-08 · TA获得超过566个赞
知道答主
回答量:54
采纳率:0%
帮助的人:82.2万
展开全部
这是两个函数!一个是srand函数!这是在调用rand()这个函数之前使用的!rand()是一个产生随机数的函数!而srand是一个设置随机数种子的函数!通常这两个函数是一起使用的!来完成产生随机数的功能!
而time(NULL)这个函数的返回值是作为srand函数的参数的!意思是以现在的系统时间作为随机数的种子来产生随机数!至于NULL这个参数。只有设置成NULL才能获得系统的时间!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
437384801
2012-04-15 · TA获得超过1867个赞
知道小有建树答主
回答量:1299
采纳率:0%
帮助的人:505万
展开全部
这个是time(),是个函数
为什么是NULL呢;很简单因为这个话就返回到现在时间时候的long秒

简介
  函数名: time
  头文件:time.h
  函数原型:time_t time(time_t * timer)
  功能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)、//
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
2015-09-11 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6326万
展开全部
c语言中语句srand( (time(NULL) ) ; 表示设置一个随机种子,每次运行都能保证随机种子不同。

在C语言中,rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,它是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值。

因此,C提供了srand()函数,它的原型是 void srand( int a)。用来改变这个种子值。
srand( (time(NULL) )中time(NULL)函数是得到一个从1900年1月1日到现在的时间秒数,这样每一次运行程序的时间的不同就可以保证得到不同的随机数了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaofg双鱼
2018-11-29
知道答主
回答量:1
采纳率:0%
帮助的人:794
展开全部
函数time返回以秒计算的日历时间,即从一个标准时间点到当前时刻经过的相对时间单位为秒,使用NULL作为time的参数时,time(NULL)的额返回值被准换成一个无符号整数 ,可作为随机数发生器的种子,在使用函数time的时候,必须将头文件<time.h>包含到程序中;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式