使用注意:
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