c - 每次在C中调用函数时如何获得一个随机数

标签 c random

所以我正在制作一个游戏,每次调用攻击函数时都需要生成一个随机数。对于程序的每次运行,它都会生成一个不同的程序,我认为这是因为我使用了 srand(time(NULL));但是,如果我攻击不止一次,它会返回我已经调用过的相同号码。这是我目前的随机函数示例。

srand(time(NULL));
int attrand = rand() % 16;

如何让它在程序的同一次执行中每次调用时返回不同的数字?

最佳答案

将种子初始化移至某个初始化函数,并在该函数中仅保留 int attrand = rand() % 16;

void my_init() {
    srand(time(NULL));
}

int get_random() {
    return rand() % 16;
}

关于c - 每次在C中调用函数时如何获得一个随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9728711/

相关文章:

mysql - 我有一张包含城市和人口的表格。我想根据人口进行随机

在 C 中转换为 ASCII

c - 另一个 "dereferencing point to incomplete type"问题

mysql - 而不是 MySQL ORDER BY RAND

java - 在一个范围内生成许多随机数,但在 java 中有一些异常(exception)

python - 如何用自己的生成器覆盖Python的随机数?

c++ - 在 C 程序中解析 32 位整数

c - 在 C 中从 typedef 结构设置和获取数组的值

c - Procyon 库与 AVR Studio 6

ruby - Ruby 中的随机数生成器问题