【发布时间】:2021-03-11 16:16:34
【问题描述】:
我正在尝试用 C 语言为扫雷游戏创建一个随机整数数组。
我正在尝试获取 1 到 64 之间的随机数。
在main() 函数的开头,我初始化了srand(time(NULL))。
稍后在程序中,我在循环中使用rand() 生成8 个随机整数。
在我对其他功能的初始测试运行中,数字是完全随机的,但随着我运行更多测试,它开始连续给出整数 1-7 和一个随机两位数整数。
值得一提的是,这些测试是在 Clion 终端上完成的。
仅仅是因为我运行程序的位置还是其他原因造成的问题?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void eightByEight(int randArr[], int lower, int upper, int size);
int main()
{
int i, randNums[8];
srand(time(NULL));
eightByEight(randNums,1,64,8);
for (i = 0; i < 8; i++)
{
printf("%d ", randNums[i]);
}
return 0;
}
void eightByEight(int randArr[], int lower, int upper, int size)
{
int i,num;
for (i = 0; i < size; i++)
{
num = (rand() % (upper - lower + 1)) + lower;
randArr[i] = num;
}
}
【问题讨论】:
-
请出示您所描述的代码。
-
请附上minimal reproducible example。细节很重要。您发布的代码无法编译
-
无法重现,但请复制/粘贴您的实际代码,而不是您猜测的那样。包括您如何显示这些值。