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

有关随机数的程序

以时间为种子,其实再产生随机数的函数中都会加,这样可以使得取得随机数更有代表性,否则取出来的数可能是服从正态分布的!
一句标准格式而已,需要记的!追问

那这个呢srand((int)time(0));
是不是一样的?什么区别??

追答

我没那样写过,不过每次都是用NULL,但是NULL==0,所以我认为这种用法也可以,你可以编译试试,我觉得可以。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-01
这是两个函数的调用
一个是 srand(unsigned int) ;
一个是 time(long *t) ;

这里是把他们两个合在一起写,time函数的返回值作为srand函数的 参数 ,而NULL就是time函数的输入参数 ,time 函数要求参数是一个指针,因此得用 NULL,NULL代表指针不知向任何变量,而 0 则是 int 型的,类型不符
如果非要用0, 也可以进行强制类型转换, srand((unsigned)time ( (long *) 0)) ;
第2个回答  2011-04-30
你可以看看time.h中那个函数的原型 _CRTIMP time_t __cdecl time(time_t *);
这个函数接受的是一个指针,一般指针要么指向一个地址,要么就是NULL
time_t这个结构体在time.h中也有

c语言中 srand((unsigned)time(NULL)); 这句话是什么意思(尤其是 NULL...
以时间为种子,其实再产生随机数的函数中都会加,这样可以使得取得随机数更有代表性,否则取出来的数可能是服从正态分布的!一句标准格式而已,需要记的!

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

C语言srand((unsigned)time(NULL)); 是什么意思
如: srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复,常常使用系统时间来初始化,即使用 time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970 到现在所持续的秒数,然后将time_t型数据转化为(unsigned)型再传给srand函数,即: srand((unsigned) time(&t))...

srand( (unsigned)time( NULL ));究竟是什么意思 ?
srand((unsigned)time(NULL))是初始化随机函数种子:1、是拿当前系统时间作为种子,由于时间是变化的,种子变化,可以产生不相同的随机数。计算机中的随机数实际上都不是真正的随机数,如果两次给的种子一样,是会生成同样的随机序列的。 所以,一般都会以当前的时间作为种子来生成随机数,这样更加的随机。

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

C++生成随机数中srand((unsigned)time(NULL));是什么意思?作用是什么...
初始化随机函数种子,srand((unsigned)time(NULL));是拿系统时间作为种子,由于时间是变化的,种子变化,可以产生不相同的随机数。使用时,参数可以是unsigned型的任意数据,比如srand(10);如果不使用srand 用rand()产生的随机数,在多次运行,结果是一样的。

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

srand( (unsigned)time( NULL ) );怎么用这个东西
这是固定的用法,在调用rand随机数函数前写上这句就行了。这就是设定一个随机数发生器的种子。否则每次生成的随机数都是相同的。

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

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

相似回答