【发布时间】:2017-12-21 20:05:00
【问题描述】:
我为一个数组创建了一个随机数生成器(介于 100 和 1 之间),但每次运行它都会输出相同的 10 个介于 1 和 100 之间的数字。
for (int x=0; x < 10; x++) {
arr[x]=rand() % 100 + 1;
循环运行 10 次,因为数组包含 10 个整数。不过,每次我运行它时,它都会输出:42、68、35、1、70、25、79、59、63、65。
从这行代码输出
for (int z=0; z<10;z++) {
cout << arr[z]<<", ";
}
谁能明白为什么会这样?
【问题讨论】:
-
你的程序每次都使用相同的种子。
-
你有没有打电话给
srand? -
"有人知道为什么会这样吗?"因为您不必费心阅读文档cplusplus.com/reference/cstdlib/rand
-
我将把这些链接留在这里(请不要在新/现代代码中使用
(s)rand):en.cppreference.com/w/cpp/numeric/random,channel9.msdn.com/Events/GoingNative/2013/… -
@Slava cplusplus.com 是一个质量很差的参考。更喜欢 cppreference.com ..