gpt4 book ai didi

c++ - rand() 在单个函数中调用时返回相同的值

转载 作者:可可西里 更新时间:2023-11-01 18:40:18 24 4
gpt4 key购买 nike

我是一个 C++ 新手,我被这个难住了。我需要在我的主函数中调用这个函数三次,但每次它都会给我相同的结果,即 pull_1、pull_2、pull_3 是相同的。我需要做什么才能使它们真正随机?

string PullOne()
{
string pick;
string choices[3] = {"BAR", "7", "cherries"};

std::srand(time(0));
pick = choices[(std::rand() % 3)];
return pick;
}

从我的主要功能:

string pull_1, pull_2, pull_3;
pull_1 = PullOne();
pull_2 = PullOne();
pull_3 = PullOne();

最佳答案

您不应该在每次调用 rand() 之前调用 srand()。调用一次 – 在程序开始的某个地方。

问题是您重新启动随机生成器,使其从同一点开始生成完全相同的伪随机序列。

关于c++ - rand() 在单个函数中调用时返回相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6729214/

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