rand()函数每次产生相同的输出C [复制]

问题描述 投票:0回答:1

我试图用rand()函数生成从0到3的随机数,并且它工作正常,但我注意到一些奇怪的东西。

每次运行并重新运行项目时,该函数都会生成相同的数字模式。

这是我使用的代码尽可能简单地分解。

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

int main()
{
int randomNumber;

for (int i = 0; i < 15; i++)
{
    randomNumber = rand() % 4;
    printf("%d ", randomNumber);
}

getchar();
return 0;
}

这打印出从0到3的15个随机数,对我来说这就是我得到的

1 3 2 0 1 0 2 2 2 0 1 1 1 3 1

所以这很好。但问题是,每次运行程序时都会打印出完全相同的内容。

知道为什么会这样吗?

c visual-studio random
1个回答
1
投票

在计算机科学中没有随机数这样的东西。因此,要生成不同的输出,我们必须使用伪随机。要做到这一点,请在srand(time(0))中声明您已声明的变量。

© www.soinside.com 2019 - 2024. All rights reserved.