我正在生成随机数,有人告诉我使用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()确实给出了随机数。为什么我们需要在那之上做什么呢?
答案 0 :(得分:2)
如果您只是使用rand()并多次运行您的代码,您会注意到每次都倾向于获得相同的随机数序列。
srand
用于为随机数生成器播种。这允许您生成不同的序列。我建议您阅读the manual page for srand.