c语言中语句srand(time(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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-26
c语言中语句srand( (time(NULL) ) ; 表示设置一个随机种子,每次运行都能保证随机种子不同。

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

因此,C提供了srand()函数,它的原型是 void srand( int a)。用来改变这个种子值。
srand( (time(NULL) )中time(NULL)函数是得到一个从1900年1月1日到现在的时间秒数,这样每一次运行程序的时间的不同就可以保证得到不同的随机数了。本回答被网友采纳
第2个回答  2013-06-19
设置随机种子数,要不然每次程序启动时用 rand() 取得的随机数都是一样的。追问

还没有明白。。。具体点吧

本回答被提问者采纳
第3个回答  2013-06-19
srand函数是随机数发生器的初始化函数。原型:void srand(unsigned seed)。
用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数。如: srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复常常使用系统时间来初始化,即使用 time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970 到现在所持续的秒数,然后将time_t型数据转化为(unsigned)型再传给srand函数,即: srand((unsigned) time(&t)); 还有一个经常用法,不需要定义time_t型t变量,即: srand((unsigned) time(NULL)); 直接传入一个空指针,因为你的程序中往往并不需要经过参数获得的t数据。srand((int)getpid()); 使用程序的ID(getpid())来作为初始化种子,在同一个程序中这个种子是固定的。。

c语言中srand(time(NULL));是什么意思啊?
c语言中 srand(time(NULL)); 的意思是:使用当前时间进行随机数发生器的初始化。time_t time(time_t *t); 是C标准库函数,如果t是空指针(NULL),直接返回当前时间。如果t不是空指针,返回当前时间的同时,将返回值赋予t指向的内存空间。time() 是指返回自 Unix 纪元起的当前时间的秒数的函数...

srand((time(NULL)))什么意思?
在C语言中,srand((time(NULL))是用来生成随机数的。srand是随机数生成函数,它的参数是一个种子值,可以用来初始化随机数生成器,保证每次生成的随机数都不相同。而time(NULL)则是取得系统当前时间的函数,是一个非常常用的时间戳。所以srand((time(NULL)))的含义是使用当前时间作为随机数生成器的种...

srand(time(NULL))是什么意思?
srand(time(NULL)):这是两个函数,一个是srand函数,这是在调用rand()这个函数之前使用的,rand()是一个产生随机数的函数,而srand是一个设置随机数种子的函数,通常这两个函数是一起使用的,来完成产生随机数的功能。而time(NULL)这个函数的返回值是作为srand函数的参数的,意思是以现在的系统时...

C语言猜数游戏。 srand(time(NULL));这个函数什么意思
time是取系统时间 srand是生成随机数

c语言中 srand((unsigned)time(NULL)); 这句话是什么意思(尤其是 NULL...
srand()函数用来设置算法的种子,time(NULL)返回当前的时间,先调用srand(time(NULL))是把当前的时间作为种子,是程序每次运行产生不同的随机数序列。涉及到三个概念:1、随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的。2、随机数种子:随机数的产生是由算术规则产生的,srand(seed...

c语言中srand()的意思是什么啊?
c语言中语句srand( (time(NULL) ) ; 表示设置一个随机种子,每次运行都能保证随机种子不同。在C语言中,rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,它是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,但这不是真正的随机数,当...

srand(time(NULL)),srand和rand
time(NULL)返回当前时间,实质上是从1970年1月1日午夜(00:00:00)至今的秒数。srand 是对随机数生成器进行初始化操作,设置随数种子 rand 每次调用返回一个随机数。C语言运行时库的随机数生成器只能生成伪随机数。即通过srand设置的种子值进行复杂计算模拟随机数。因为如果用相同的数作种了,rand会...

C语言产生3个随机数是:srand(time(NULL)); a=rand(); b=rand()
srand(time(NULL)); 是设置随机种子,种子不同,每次运行时,生成的随机数序列不同,种子相同,则得到的序列是相同的。time(NULL)是获得当前时间(以秒为单位),这样,在不同的时间去运行程序,则会得到不同的随机序列,这样,每次得到的a b c是不相同的,如果不加这句,则每次都会得到相同的一...

srand((unsigned)time(NULL));是什么意思
srand()函数用来设置算法的种子,time(NULL)返回当前的时间,先调用srand(time(NULL))是把当前的时间作为种子,是程序每次运行产生不同的随机数序列。涉及到三个概念:1、随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的。2、随机数种子:随机数的产生是由算术规则产生的,srand(seed...

C语言srand((unsigned)time(NULL)); 是什么意
C语言中的`srand((unsigned)time(NULL))`是一个用于初始化随机数发生器的关键语句。这个函数的主要作用是为随机数生成器提供一个初始的种子值,以确保每次程序运行时生成的随机数序列不同。`time(NULL)`函数会获取当前系统的时间,以秒为单位,作为种子,通过类型转换为unsigned类型后再传递给`srand`。...

相似回答