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




谁能结实一下C语言中随机srand和rand函数的区别
rand()产生一个0~32767之间的伪随机数。而srand(unsigned t)是为rand()产生伪随机数下一个“种子”。所谓“种子”就是给伪随机发生器赋一个初值,因为如果初值一样,后面产生的伪随机数的规律也就一样,达不到“随机”的目的。所以srand(unsigned t)一般是用机中的实时时间来启动的,因为实时时间...

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

c语言中rand和srand
srand(time()) ;或许种子 rand(); 调用产生随机数 --- srand + time 用于产生一个种子数,种子数的作用在于rand产生不重复随机数

c语言随机产生10乘10的矩阵
在C语言中,我们可以使用rand()函数来生成随机数,从而随机产生10乘10的矩阵。下面是示例代码:```c include <stdio.h> include <stdlib.h> include define ROW 10 define COL 10 int main() { int matrix[ROW][COL];int i,j;\/\/ 生成随机数种子 srand((unsigned)time(NULL));\/\/ 随机生...

C语言中,利用srand(time(0))函数,那么获得的随机数一定不重复吗?_百 ...
目前无法获得真正的随机数, 都是伪随机数, 包括用srand((unsigned)time(0))初始化随机数种子, 在间隔一定时间段获得的随机数序列是不同的, 初始化随机数种子后, 如果两次获取随机数序列的时间间隔越短, 两个序列的趋势越接近. 理论上间隔时间短到一定程度后, 获取到的是两个相同的序列 ...

C语言中srand((unsigned)time(&t))与srand(time(&t))有什么区别?_百度...
srand(time(&t))用当前时间作参数,计算随机数种子。前者 多加了一个 (unsigned)强制转换,即(unsigned int)强制转换。功能上没有区别。其实没有必要。直接写 srand(time(NULL));更简洁,功能效果一样。除非你想用 t 存放当前时间。

如何在C语言中生成一定范围内的随机数?
C语言中用rand()函数产生20-90的随机整数 20-90共有71个数字,所以是rand()%71+20 ;用rand()生成-20-20的随机数 -20-20共有41个数字,所以是rand()%41-20;需要注意的是,在运行以上代码之前最好设定一下:srand(time(NULL));\/\/用系统当前时间设置rand()随机序列种子,保证每次运行随机...

c语言里rand和srand怎么用,语法是什么样的,举个例子说明一下好么,应该...
先用srand(参数)初始化一个随机数序列,参数为正整数,如果参数相同,那么随机数序列就相同。为了随机,一般用time(0),它是系统时间的一个秒数值,每秒变化。初始化完成后使用rand()从随机数序列中依次抓取一个正整数。

srand(time(0));\/\/设置时间种子是什么意思(是c语言中的)
因为系统的时间每次都不同,这样可以避免每次产生的随机数都相同

c语言rand函数的使用
你好!!srand((int)time(NULL));\/\/ 移到循环的外面 增加了每次出拳的显示,便于查看 增加了局数的显示 include<stdlib.h>\/\/为了使用srand、rand函数必须使用该头文件#include\/\/要使用time()必须使用该头文件 #include<stdio.h>int main(){char in;\/\/出错,产生的随机数永远一样。 srand((int...

前郭尔罗斯蒙古族自治县19762163762: c编程中srand(time(0));这句话的含义 -
舌汤贝分: void srand(unsigned seed); 用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数.如: srand(1); 直接使用1来初始化种子.不过为了防止随机数每次重复常常使用系统时间...

前郭尔罗斯蒙古族自治县19762163762: C语言srand和rand函数 -
舌汤贝分: rand()函数,一般根srand()函数一起用.它们在一起,作用是:产生一个随机数.通常格式为:srand ( (unsigned) time (NULL) ); a=rand()%x; //a,x,均为整型变量,其中,x在之前应被赋值.srand函数里面的unsigned也可以换成其它的.例如:int之类的数据类型,但结果也会有相应的变化. 通过rand函数产生随机数以后,用%x来限定它的范围.即:0<=a<x. 其原理是:用那个随机数,去除以x,留下所得余数,作为最终结果.

前郭尔罗斯蒙古族自治县19762163762: C语言 srand() -
舌汤贝分: srand函数一般是用来初始化随机状态,通俗理解为初始化随机种子,然后再调用rand()函数来产生随机数

前郭尔罗斯蒙古族自治县19762163762: c语言中rand和srand -
舌汤贝分: srand(time()) ;或许种子 rand(); 调用产生随机数 ------------------------------------- srand + time 用于产生一个种子数,种子数的作用在于rand产生不重复随机数

前郭尔罗斯蒙古族自治县19762163762: c语言编程有个地方不会 怎么用srand和time函数生产随机数 -
舌汤贝分: 你先要知道,计算机并不能产生真正的随机数.他只是使用你提供的一个初始值,每次对这个值进行一个比较复杂的运算(各种位运算+奇奇怪怪的计算,详情请查阅伪随机算法),意思是计算机的随机数,其实也是可以根据他的随机函数算出...

前郭尔罗斯蒙古族自治县19762163762: C语言产生3个随机数是:srand(time(NULL)); a=rand(); b=rand() -
舌汤贝分: srand(time(NULL)); 是设置随机种子,种子不同,每次运行时,生成的随机数序列不同,种子相同,则得到的序列是相同的.time(NULL)是获得当前时间(以秒为单位),这样,在不同的时间去运行程序,则会得到不同的随机序列,这样,每次得到的a b c是不相同的,如果不加这句,则每次都会得到相同的一组数据.

前郭尔罗斯蒙古族自治县19762163762: c语言 程序设计 关于 srand rand time(0) time(NULL) time(&t) -
舌汤贝分: NULL的值就是0,因此srand(time(NULL)和srand(time(0)) 是一样的.都是0 而 time(time_t *time)里面的time_t *time,也就是给指针赋值个0,就是:time = NULL,是允许的. srand(time(&t)) 这个也是一个随机种子,t 就是 time_t类型的,一样可以设置随机种子

前郭尔罗斯蒙古族自治县19762163762: 在c语言中如何使用srand和rand函数??举个例子,如果我想要随机输出(9.30 10.00 -
舌汤贝分: #include#include #include int main() { int k; srand(time(NULL)); k=rand()%3; //随机生成0、1、2 switch(k) { case 0: printf("9:30"); break; case 1: printf("10:00"); break; case 2: printf("11:20"); break; } printf("\n"); return 0; }

前郭尔罗斯蒙古族自治县19762163762: c语言中,散播种子srand(time(NULL)),怎么才能显示出种子的具体值? -
舌汤贝分: 你可以先用int seed = time(NULL);记得种子的值,再用srand 另,time(NULL)是把时钟数取出作为随机种子

前郭尔罗斯蒙古族自治县19762163762: c语言中取0~100的随机数时 srand(time(NULL)) m=rand()%100怎么保 -
舌汤贝分: rand()%100%是取余数运算符.任何一个数除以100的余数的范围就是0~~99,所以一定小于100的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网