srand()
是 C/C++ 标准库中的一个函数,用于为伪随机数生成器 (rand()
) 设置种子值。它定义在 <stdlib.h>
(C) 或 <cstdlib>
(C++) 头文件中。
函数原型
void srand(unsigned int seed);
功能说明
-
初始化随机数生成器:为后续的
rand()
调用提供种子值 -
种子决定序列:相同的种子会产生相同的随机数序列
-
通常与时间结合使用:为了获得不同的随机序列,常用当前时间作为种子
使用方法
#include <stdlib.h>
#include <stdio.h>
#include <time.h> // 用于获取时间种子
int main() {
// 用当前时间初始化随机数种子
srand((unsigned)time(NULL));
// 生成随机数
for(int i = 0; i < 5; i++) {
printf("%d\n", rand());
}
return 0;
}
与 rand()
的关系
-
srand()
设置种子 -
rand()
根据种子生成伪随机数 -
没有调用
srand()
时,rand()
默认使用种子 1