int main()
{
srand(time(NULL));
for(int i =0;i<50;i++)
{
printf("%d ",rand());
}
printf("\n");
srand(time(NULL));
for(int i =0;i<50;i++)
{
printf("%d ",rand());
}
printf("\n");
system("pause");
return 0;
}
如上产生的序列是一样的,注意srand() 理解,默认系统赋值srand(1) 每次调用序列一样,因为种子一样。可以理解为算法的一起值一样。
srand(time(NULL)); 返回是当前系统距离1920年XX月...(具体时间这里不重要)的秒数 因而两个地方的序列一样,因为程序执行两处时间绝对用不了一秒。
在使用srand()的时候不要初始化多次