gpt4 book ai didi

c - 如果函数循环,带有种子的 rand 不会返回随机数

转载 作者:太空狗 更新时间:2023-10-29 16:51:02 27 4
gpt4 key购买 nike

我在下面写了这个 C 代码,当我循环时,它返回一个随机数。如果执行 myrand(),我如何获得 5 个不同的随机值?

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

int myrand() {
int ue_imsi;
int seed = time(NULL);
srand(seed);
ue_imsi = rand();

return ue_imsi;
}

int main()
{
int value = 0;
int i=0;
for (i=0; i< 5; i++)
{
value =myrand();
printf("value is %d\n", value);
}
}

最佳答案

应该为生成器播种一次(当然是针对您要生成的每个随机数序列!):

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

int main()
{
int seed = time(NULL);
srand(seed);
int value = 0;
int i=0;
for (i=0; i< 5; i++)
{
value =rand();
printf("value is %d\n", value);
}
}

关于c - 如果函数循环,带有种子的 rand 不会返回随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314370/

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