gpt4 book ai didi

c - for循环C中的随机数

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:03 27 4
gpt4 key购买 nike

我需要在 for 循环中生成 1000 个随机数。

我的问题是生成的随机数总是相同的。因为我使用时间 NULL 来启动生成器,为什么我得到相同的数字?这是我使用的代码:

#include <stdio.h>
#include <stdlib.h>
#define LIMIT 30000

int main(){
int i;
srand((long) time(NULL));
for(i = 0; i < 1000; i++){
int x = rand() % LIMIT;
printf("%d\n", x);
}
}

最佳答案

如果您在同一秒内多次运行该程序,您会将相同的值作为种子传递给生成器。您必须至少等待一秒钟才能再次尝试。

这是因为 time 函数返回自特定时间以来的秒数,如果在同一秒内多次调用,将返回相同的值。

关于c - for循环C中的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19478450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com