srand()函数, 原型void srand(unsigned int seed)
个人理解:srand()就是一个随机生成器。seed是表示随机生机器的种子(种子可以理解是用来初始化的,也就是起点的意思)
而常常出现的问题是,种子相同,出现的随机数也是相同的。因此为了防止出现这种情况常常使用系统时间来初始化。
原程序:试试这2种情况,就知道它们之间的区别了。
程序1:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
unsigned int seed = 10;
unsigned int i = 0;
srand(seed);
for (i = 0; i < seed; i++)
{
printf("%d ", rand()%100);
}
printf("\n");
return 0;
}
程序2:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
unsigned int i = 0;
srand(unsigned time(NULL));
for (i = 0; i < seed; i++)
{
printf("%d ", rand()%100);
}
printf("\n");
return 0;
}