C语言深度剖析:srand()/rand()/time()

一、铺垫

1.srand()函数是一个设置随机数种子生成器的函数;

void srand(unsigned int seed)

2.根据函数的参数表示,诸位可以知道,参数是一个无符号int类型;中文名称叫做种子(一般称为随机数种子);所以srand()函数叫做随机数种子生成器;srand->set rand;

3.rand()函数,才是随机数生成器(随机数生成 函数);

4.rand()函数

int rand(void)

5.其中rand()函数运行时,会在[seed,RAND_MAX(0X7fff))区间内生成其中的随机整数;其中的seed就是srand()函数中,传进去的参数seed(随机数种子);如果用户在此之前,没有调用srand()函数;就默认seed值等于1;

6.在每一次调用rand()函数时,都会调用srand()函数,都会重新生成随机数种子,来生成随机数;如果不指定随机数种子,就默认是1;

二、举例

调用一次srand(时间戳)函数,之后再调用了两次rand()函数 ,过程是什么样子的?

答:第一次调用srand()函数,是在告诉操作系统,srand()函数会使用时间戳作为seed的值;(如果把调用 srand(常量) 那就把seed变成了定值;)

第一次调用rand()函数时,会自动的获取当前的时间戳作为seed值;生成随机数;

注:每个时间戳之间都存在间隔,各不相同;

第二次调用rand()函数时,会自动的获取当前的时间戳作为seed值;生成随机数;

srand()函数可以理解为 控制Linux进程信号的一个函数;只要响起这个信号,就会自动调用某个函数,只能类比理解;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qincjun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值