rand 和 srand 问题

使用注意:
1、rand生成序列对于给定的srand种子来说,序列值组合是固定的
2、srand值在快速调用时,time(NULL)可能不会更新,因为时间戳是以微秒计算的,所以微秒之内的如果再次执行srand和rand,则会得到相同的随机值序列
3、每次设置随机种子后,rand输出会自动复位到第一个初始值,种子相同,则初值及后续的序列相同

一个种子不是产生一个特定的随机数,而是一串特定的随机数。
#include
using namespace std;
#include
#include
int main(){
srand(5555);
cout<<rand()<<" “<<rand()<<” “<<rand()<<endl;
srand(5555);
cout<<rand()<<” “<<rand()<<” “<<rand()<<endl;
srand(6666);
cout<<rand()<<” “<<rand()<<” "<<rand()<<endl;
}
运行结果:
2438 11821 18178
2438 11821 18178
24893 25748 21806

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值