c语言srand函数用法 c语言srand函数和rand函数
C语言srand(time(0))
这是用于初始化随机函数发生器的,计算机中的随机函数在生成一个随机数时需要用到一个称为随机数发生器的东西,如果不对其进行初始化,每次生成的随机数就会是相同的。
为微山等地区用户提供了全套网页设计制作服务,及微山网站建设行业解决方案。主营业务为成都网站设计、成都网站制作、微山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
srand函数就用来初始化这个发生器,参数time(0)能够生成从1970年1月1日到当前机器时间的秒数,这个数在你每次执行程序的时候都会不断增长、变化,所以用它当做种子来初始化发生器,就会生成不同的随机数了。
C语言 srand()函数
呵呵,这个是我遇到过的问题,并进行了一些研究。其实这是因为srand()函数是一个随机数产生函数,其意思就是指c语言里的随机数都是由它来控制产生的!!!如果在应用srand()函数之前就用随机函数rand(),则相当于使用了srand(1);
而将srand((unsigned)time(null));这条语句放在了for循环里,即是用了srand((unsigned)time(0));故此句语句不变的话,产生的随机数就不变!!!不懂的话可以问我!
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
srand函数和rand函数到底如何使用??
rand函数
函数头文件:stdlib.h
函数定义:int rand(void)
函数功能:产生一个随机数
函数说明:
rand函数产生的随机数严格意义讲不是真正的随机数,它里面采用了线性同余法计算出随机数,所谓的线性同语法简单来说就是使用了一个公式。
该方法有个最大周期M,也就是说该方法实在一定的范围内生成一串数字,不过这个M一般来说比较大,所以正常使用时一般看起来就是产生了随机的数。
不过这个函数由于默认种子是1,所以每次产生的随机数都是相同的,也就是说每次运行程序,产生的随机数都是一样的,失去了部分随机的意义,所以一般会配合srand函数使用。
返回值: 返回0至RAND_MAX之间的随机整数值,RAND_MAX的范围最小在32767之间。若用unsigned int 双字节是65535,四字节是4294967295的整数范围。且0-RAND_MAX每个数字被选中的机率是相同的。
srand函数
函数头文件:stdlib.h
函数定义:void srand(unsigned int seed)
函数功能:设置随机数种子
函数说明:通常可以用getpid()(获取当前进程的进程识别码)或者time(NULL)(获取当前系统的时间信息)来充当种子,保持每次运行时种子是不一样的。
扩展资料
当srand()的内容相同时,则在rand()后产生相同的随机数列;所以当用time(NULL)来进行初始随机数,根据时间来产生随机数,这样就能产生不同的。
调用方法是srand(GetTickCount()),但是又不能在每次调用rand()的时候都用srand(GetTickCount())来初始化。
因为现在计算机运行时间比较快,当连续调用rand()时,系统的时间还没有更新,所以得到的随机种子在一段时间内是完全相同的,因此一般只在进行一次大批随机数产生之前进行一次随机种子的初始化。
参考资料:百度百科——rand函数
本文标题:c语言srand函数用法 c语言srand函数和rand函数
文章路径:http://hbruida.cn/article/dopihdi.html