📅  最后修改于: 2023-12-03 14:39:50.373000             🧑  作者: Mango
srand()
函数是 C++ 中 stdlib.h
库中的一个函数,它用于根据给定的 seed 值初始化随机数发生器,使其生成真正的随机数。在每次程序运行时,可通过调用 srand()
函数来创建一个新的序列,这使得随机数生成器的序列有了与以前不同的开头。
以下是 srand()
函数的语法:
void srand(unsigned int seed);
参数:
time(NULL)
作为种子,前提是要先包含 #include <time.h>
头文件,这可以避免生成的随机数在不同程序执行中出现重复。srand()
函数没有返回值。
下面是一个简单的 srand()
函数的示例,使用 time()
函快 get seed 值
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
// 获取当前时间作为随机数种子
srand((unsigned) time(NULL));
for(int i = 0; i < 10; i++) {
// 生成随机数
int num = rand();
cout << "生成的随机数为: " << num << endl;
}
return 0;
}
如果多次调用 srand()
函数时,如果传入的种子值相同,那么生成的随机数序列也相同。
因为 srand()
函数是基于时间的,所以程序每次运行时,生成的随机序列都会不同。
由于 srand()
和 rand()
函数只生成伪随机数,而不是真正的随机数,所以 "randomness"
不是真正的随机性。
srand()
函数在 C++ 中是生成随机数的重要组成部分,它能够在程序中生成真正的随机数。虽然 srand()
函数不是完全的真正意义的随机数,但它已经足够满足大多数程序中生成的数字需要,让程序更加智能化、灵活化。