每次在C中调用函数时如何获取随机数

时间:2012-03-15 21:49:50

标签: c random

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

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

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

1 个答案:

答案 0 :(得分:7)

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

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

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