首页 > 编程笔记

C语言srand():初始化随机数生成器

srand() 是 C语言的一个标准库函数,定义在<stdlib.h>头文件中。

srand() 函数用于改变随机数生成器的初始状态,通过为随机数生成器设置不同的种子,从而对随机数生成器进行初始化或者重新初始化。

srand() 函数的原型如下:
void srand(unsigned int seed);

参数

seed:随机数生成器的种子值。不同的种子将导致随机数生成器产生不同的随机数序列。

返回值

无,srand() 没有返回值。

通常我们会把当前时间(time(NULL))作为参数 seed 的值,这样做的好处是,每次程序运行时的时间是不同的,由此生成的随机数序列也不相同。

【实例】以下 C语言示例代码演示了 srand() 函数的功能和用法,程序会生成 5 个介于 0 到 99 之间的随机整数,并打印它们。
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main() {
    // 使用当前时间作为随机数生成器的种子
    // 每次运行程序时,时间都是不同的,因此随机数序列也将不同
    srand(time(NULL));

    // 生成并打印5个随机整数
    for (int i = 0; i < 5; i++) {
        int random_number = rand() % 100; // 生成0到99之间的随机整数
        printf("%d ", random_number);
    }
    printf("\n");

    return 0;
}
在这个示例中,通过调用 srand(time(NULL)),我们设置了随机数生成器的种子为当前时间。由于每次运行程序时当前时间都不同,因此每次运行都会生成不同的随机数序列。如果不调用 srand(),则每次运行程序时都会生成相同的随机数序列。

推荐阅读