当rand()在C中生成所有随机数时,为什么要使用srand

时间:2015-05-06 01:54:41

标签: c

我正在生成随机数,有人告诉我使用srand。我搜索了srand并发现它在rand()之上使用。但我不明白为什么不使用rand(),因为我在下面的代码中得到随机数:

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

int main(){

    int i=0;

    for(i=0;i<5;i++){
        printf("random number is %d\n",rand());
    }
}

我得到一组5个随机数。所以rand()确实给出了随机数。为什么我们需要在那之上做什么呢?

1 个答案:

答案 0 :(得分:2)

如果您只是使用rand()并多次运行您的代码,您会注意到每次都倾向于获得相同的随机数序列。

srand用于为随机数生成器播种。这允许您生成不同的序列。我建议您阅读the manual page for srand.