发布网友 发布时间:2022-04-26 17:53
共5个回答
热心网友 时间:2023-10-11 11:44
C语言time(NULL)是以当前时间为种子,产生随意数。
其中,time(NULL)用来获取当前时间,本质上得到的是一个大整数,然后用这个数来随机数。
time()这个函数其实保存的是一个历史时间,所以需要用NULL把这个历史时间清空一下,time()就会自动保存当前时间了。你可以简单的理解为NULL就是给time()初始化。
c语言调用time()函数括号里为什么要用NULL?
time是这样声明的:time_ttime(time_t*timer)
用法是你先自己定义一个time_t变量,让后把变量的地址传给它。函数会返回自1970年1月1日0点走过的秒数,同时把这个返回值保存在你传进来的那个time_t*指向的变量里面
如果你传进来NULL的话,就不保存。
热心网友 时间:2023-10-11 11:44
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()配合使用产生伪随机数序列。
time()的定义和用法
其值表示从UTC(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。然后调用localtime函数将time_t所表示的UTC时间转换为本地时间(我们是+8区,比UTC多8个小时)并转成struct tm类型,该类型的各数据成员分别表示年月日时分秒。
功能说明:srand设置产生一系列伪随机数发生器的起始点,要想把发生器重新初始化,可用1作seed值。任何共它的值都把发生器匿成一个随机的起始点。rand检索生成的伪随机数。在任何调用srand之前调用rand与以1作为seed调用srand产生相同的序列。
此函数可以设定rand函数所用的随机数产生演算法的种子值。任何大于一的种子值都会将rand随机数所产生的虚拟随机数序列重新设定一个起始点。
热心网友 时间:2023-10-11 11:44
这个具体意思我忘记了,我就说一下我的理解:热心网友 时间:2023-10-11 11:45
DDDDDDDDDDD热心网友 时间:2023-10-11 11:46
记住就好啦