C语言srand((unsigned)time(NULL)); 是什么意思

详细说下,随机+时间函数?

srand()函数用来设置算法的种子,time(NULL)返回当前的时间,先调用srand(time(NULL))是把当前的时间作为种子,是程序每次运行产生不同的随机数序列。

涉及到三个概念:

1、随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的。

2、随机数种子:随机数的产生是由算术规则产生的,srand(seed)的随机数种子不同,rand()的随机数值就不同,倘若每次的随机数种子一样,则rand()的值就一样。所以要产生随机数,则srand(seed)的随机数种子必须也要随机的。

3、用srand()产生随机数种子

原型:void srand ( unsigned int seed )。作用是设置好随机数种子,为了让随机数种子是随机的,通常用time(NULL)的值来当seed。

扩展资料:

C语言其他产生随机数的方法。

1、函数名: rand

功能: 随机数发生器

用法: void rand(void);

程序例:

2、函数名: random

功能: 随机数发生器

用法: int random(int num);

程序例:

3、函数名: randomize

功能: 初始化随机数发生器

用法: void randomize(void);

程序例:

参考资料来源:百度百科--srand

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-22
初始化随机函数种子,srand((unsigned)time(NULL));是拿系统时间作为种子,由于时间是变化的,种子变化,可以产生不相同的随机数。

使用时,参数可以是unsigned型的任意数据,比如srand(10);

如果不使用srand

用rand()产生的随机数,在多次运行,结果是一样的。
第2个回答  2013-10-13
srand((unsigned)time(NULL));
这个是种子函数 为rand函数提供不同的种子 每次运行程序产生不同的随机数
不然rand函数每次运行程序产生的随机数都是一样的
第3个回答  2010-12-01
如何运用time函数和srand函数生成随机数
#include <stdio.h>
#include <stdlib.h>//srand()、rand()
#include <time.h>//time();
#include <conio.h>

#define N 50

int main()
{
int n;

srand((unsigned)time(NULL));//设置随机数种子
while (1)
{
n = (rand() % 10) + 1 ;//产生1~10的随机数
//rand()产生的是一个很大的数,对其求余就可以达到限定范围的目的
printf("%d ", n);
getch();
}
return 0;
}
第4个回答  2013-10-13

设置rand()随机序列种子。

对于给定的种子seed, rand()会反复产生特定的随机序列。     

 srand( time(NULL) );   
 for( i = 0; i < 10; i++ )      
    printf( "Random number #%d: %d\n", i, rand() );

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

...C语言srand((unsigned)time(NULL)); 是什么意思
srand函数是随机数发生器的初始化函数。原型:void srand(unsigned seed);用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数。如: srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复,常常使用系统时间来初始化,即使用 time函数...

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

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

C语言srand((unsigned)time(NULL)); 是什么意思
srand((unsigned)time(NULL));这个是种子函数 为rand函数提供不同的种子 每次运行程序产生不同的随机数 不然rand函数每次运行程序产生的随机数都是一样的

C语言srand和rand函数
srand ( (unsigned) time (NULL) );a=rand()%x; \/\/a,x,均为整型变量,其中,x在之前应被赋值。srand函数里面的unsigned也可以换成其它的。例如:int之类的数据类型,但结果也会有相应的变化。通过rand函数产生随机数以后,用%x来限定它的范围。即:0<=a<x。其原理是:用那个随机数,去除以x...

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

srand(unsigned(time(NULL)));代表什么
以系统时间为种子产生一个随机数

...求教各位srand((unsigned)time(NULL))拜托明白些
,故每秒产生的随机数组都不同。这才是真正的随机数。如下:(unsigned)time(NULL) 前面的(unsigned)表示为无符号整型 ,NULL数值上等价于0 用time(NULL) 和time(0)是一样的 建议自己上机验证 本来想多上传几张照片,但上传出错,有兴趣自己验证,呵呵 ...

srand((unsigned)time(NULL));在c语言中有什么具体的意思吗?
;include <conio.h> define N 50 int main(){ int n;srand((unsigned)time(NULL));\/\/设置随机数种子 while (1){ n = (rand() % 10) + 1 ;\/\/产生1~10的随机数 \/\/rand()产生的是一个很大的数,对其求余就可以达到限定范围的目的 printf("%d ", n);getch();} return 0;} ...

相似回答