[晕事]今天做了件晕事91,glibc,rand之前必须设置种子
文章目录
- 问题
- man 3 rand
- srand
问题
如果 rand 函数总是返回相同的值(例如 1681692777),通常是因为伪随机数生成器的种子(seed)没有被正确初始化。伪随机数生成器依赖种子值来生成随机数序列。如果种子值固定或未初始化,rand 函数会每次都生成相同的随机数序列。
可能的原因
种子未初始化:在许多编程语言中,如果你没有显式设置种子值,rand 函数可能会使用默认的种子值(通常是固定的),导致每次运行程序时生成的随机数序列相同。
手动设置了固定种子:如果你在代码中显式地使用了固定的种子值(例如 srand(1)),那么 rand 函数也会返回固定的随机数序列。
解决方法
为了确保 rand 函数生成的随机数序列是动态的,你需要用一个变化的值(例如当前时间)来初始化种子。以下是一些常见的解决方法:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>int