【发布时间】:2021-11-02 15:58:04
【问题描述】:
srand() 有问题。它仅在我使用数字作为参数时有效,例如 srand(1234),但当我尝试将其与 'n' 或 time 一起使用时(如下所示),randint() 会一直返回相同的值。
#include <iostream>
#include <experimental/random>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
srand(time(nullptr));
for (int i = 0; i < 4; ++i) {
int random = experimental::randint(0, 9);
cout << random;
}
}
感谢您的宝贵时间。
【问题讨论】:
-
我不认为
srand和experimental::randint有任何联系。 -
Works here。我也赞同这一点,
randint的部分观点是您不必处理srand。 -
@MarkRansom 那么为什么我在运行前填写数字时它运行良好。
-
这是实验性的。检查您的实现对
randint的支持。你大概可以直接看到它的源代码。 -
你试过
reseed()吗?
标签: c++ random srand c++-experimental