c - 如果我不指定 srand(),rand() 使用什么种子?

标签 c random srand

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    int r;
    int i;
    for (i = 0; i < 100; i++)
    {
        r = rand() % 100 + 1;
        printf("%d\n", r);
    }
    return 0;
}

我一直在尝试随机数,但是有一天,我忘了把 srand() 放进去,但是 rand() 函数仍然可以随机一个数(相同的顺序)。

问题是,如果我不指定它使用什么种子?

最佳答案

如果未调用 srand,则 rand 就像调用了 srand(1) 一样。

http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.13.html#rand

关于c - 如果我不指定 srand(),rand() 使用什么种子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14251452/

相关文章:

计算e^x的值

c - __iob_func 在使用 GSL 库时在函数 _gsl_error 中引用

python 2 vs python 3 随机性能,特别是 `random.sample` 和 `random.shuffle`

c++ - random_shuffle 不是真正随机的

c - 分配结构堆与堆栈 : Pthread_create

c# - RNGCryptoServiceProvider - 更快地生成一个范围内的数字并保留分布?

java - Math.random() 方法中的问题

c++ - srand 导致我的程序卡住

c++ - 关于 srand() 和类实现的约定

c - 内存文件的文件路径