详解 srand((unsigned )time (NULL ))
时间: 2024-10-28 12:06:34 浏览: 30
C语言srand和rand用法详解
5星 · 资源好评率100%
`srand((unsigned) time(NULL))` 是C++编程中常用的一个函数调用,用于初始化随机数生成器。`srand()` 函数的作用是设置随机数生成器的种子值,而 `(unsigned) time(NULL)` 返回的是当前系统时间(自1970年1月1日0点起经过的秒数)的整数值,是一个可作为随机数种子的常用输入。
当你需要生成一系列伪随机数(因为 `rand()` 函数实际上是通过算法产生的,并非真正的随机)时,首先调用 `srand()` 设置初始值,每次更改这个种子值会得到不同的序列。如果不设置或者使用相同的种子,`rand()` 将返回相同的随机数序列。
举个例子:
```cpp
#include <cstdlib>
#include <ctime>
int main() {
// 获取当前时间并转换为无符号整型
srand((unsigned) time(NULL));
// 现在可以开始生成随机数了
int random_number = rand();
std::cout << "Random number: " << random_number << std::endl;
return 0;
}
```
在这个例子中,每次程序运行时,由于种子值基于当前时间,所以每次都会得到不同的随机数。
阅读全文