📜  C++ srand()(1)

📅  最后修改于: 2023-12-03 14:39:50.373000             🧑  作者: Mango

C++ srand() 函数

srand() 函数是 C++ 中 stdlib.h 库中的一个函数,它用于根据给定的 seed 值初始化随机数发生器,使其生成真正的随机数。在每次程序运行时,可通过调用 srand() 函数来创建一个新的序列,这使得随机数生成器的序列有了与以前不同的开头。

语法

以下是 srand() 函数的语法:

void srand(unsigned int seed);

参数:

  • 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;
}
注意事项
  1. 如果多次调用 srand() 函数时,如果传入的种子值相同,那么生成的随机数序列也相同。

  2. 因为 srand() 函数是基于时间的,所以程序每次运行时,生成的随机序列都会不同。

  3. 由于 srand()rand() 函数只生成伪随机数,而不是真正的随机数,所以 "randomness" 不是真正的随机性。

总结

srand() 函数在 C++ 中是生成随机数的重要组成部分,它能够在程序中生成真正的随机数。虽然 srand() 函数不是完全的真正意义的随机数,但它已经足够满足大多数程序中生成的数字需要,让程序更加智能化、灵活化。