`srand`和`rand`是C语言中的两个用于生成随机数的函数。这两个函数常常一起使用,来生成伪随机数序列。下面是关于这两个函数的一些基本信息:
### srand函数
`srand`函数用于设置随机数生成器的种子(seed)。种子是一个整数,用于初始化随机数生成器。如果你不设置种子,`rand`函数将会使用固定的默认种子,通常会导致每次运行程序时生成的随机数序列相同。通过用`srand`设置不同的种子,你可以确保每次运行程序时生成的随机数序列都不同。通常,你可以使用当前时间(通过`time(NULL)`获取)作为种子,这样每次运行程序时都会得到不同的随机数序列。
示例代码:
```c
#include
#include
int main() {
// 用当前时间作为种子设置随机数生成器
srand((unsigned int)time(NULL));
// 生成一个随机数并打印出来
int random_number = rand();
printf("Random number: %d\n", random_number);
return 0;
}
```
### rand函数
`rand`函数用于生成一个随机数。它返回一个在`INT_MIN`和`INT_MAX`之间的整数(取决于具体的系统和编译器)。这个随机数是由内部的随机数生成器产生的,该生成器在调用`rand`函数时被初始化(通过`srand`函数设置种子)。如果没有设置种子或者使用了相同的种子,每次调用`rand`都会得到相同的随机数序列。因此,通常在使用`rand`之前,会用`srand`设置一个种子,以确保每次运行程序时都能得到不同的随机数序列。
示例代码:
```c
#include
int main() {
// 生成一个随机数并打印出来
int random_number = rand();
printf("Random number: %d\n", random_number);
return 0;
}
```
总的来说,通过结合使用`srand`和`rand`函数,你可以在C语言中生成伪随机数序列,这对于模拟、游戏、加密等许多应用都非常有用。