gpt4 book ai didi

C随机数生成器产生相同的数字

转载 作者:行者123 更新时间:2023-11-30 21:32:15 24 4
gpt4 key购买 nike

如何在 c 中获得随机数生成器,以便在调用我的函数时给出不同的数字。

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

int main() {

printf("%i",num());
printf("%i",num());

}
int num() {
int MAX = 100;
srand ( time(NULL));
int num = rand() % MAX;
return num;
}

无论我调用 num 函数多少次,它总是打印相同的数字。我该如何解决这个问题,以便每次通话的号码都不同。

最佳答案

time 函数通常以秒为单位返回时间,这意味着如果您在一秒内调用 time(NULL) 两次,您将得到相同的结果。

这当然意味着您为随机数生成器设置相同的起始种子,这意味着序列将是相同的。

您通常只在 main 函数的早期调用 srand 一次

关于C随机数生成器产生相同的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29539867/

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