gpt4 book ai didi

C 程序随机值

转载 作者:行者123 更新时间:2023-11-30 17:25:49 26 4
gpt4 key购买 nike

嘿,我正在尝试在 C 中生成最小值和最大值之间的随机值,其中函数的第一个参数表示最大值,最小值是上一次调用的上一个最大值。该函数可以工作,但由于某种原因,生成的值似乎总是以相同的数字结尾。

void myRand(int max, int* randValue)
{
static int newMin = 0;

srand(time(NULL));

*randValue = (newMin)+rand()%((max-newMin)+1); /* produces random value between previous max value and new max value in parameter 1 */

newMin = max;
}

int main(void)
{
int a, b;

myRand(10, &a);
printf("%d\n", a);

myRand(20, &b);
printf("%d\n", b);

myRand(30, &b);
printf("%d\n", b);

return 0;
}

在函数的第一次调用中,最小值为 0。

最佳答案

您只需调用srand(time(NULL))一次。因此,将 srand 移动到 main 的开头。

关于C 程序随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973659/

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