srand()函数的应用

1 背景知识
1.1 time_t类型数据
time_t实际上就是long int;他用来保存从1970年1月1日0时0分0秒到现在时刻的秒数!
1.2time(&t)函数用来获取1970年1月1日0时0分0秒到现在时刻的秒数!
使用格式:

time_t t;
time(&t); //形参为指针类型

2 srand()函数
srand函数是随机数发生器的初始化函数,它需要提供一个种子;
原型:void srand(unsigned seed);

2.1用法一
给定确定的种子–随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就不会变。

unsigned int seed=6;
srand(seed);
unsigned in r=rand();
printf("%d\n",r);

2.2用法二
用系统时间来初始化–通过time()函数获得系统时间,用系统时间当作种子;

  • srand((unsigned)time(&t))//给定时间t的地址
time_t t;
srand((unsigned)time(&t));
unsigned int r=rand();
printf("%d\n",r);
  • srand((unsigned)time(NULL));//直接传入一个空指针,因为你的程序中往往并不需要经过参数获得的t数据。
srand((unsigned)time(&t));
unsigned int r=rand();
printf("%d\n",r);

3参考文章
https://blog.csdn.net/u013488563/article/details/41928001
https://zhidao.baidu.com/question/17556866.html
https://zhidao.baidu.com/question/2009996091373457948.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值