【c】srand((unsigned)time(NULL))初始化随机函数种子
srand 初始化随机函数种子
- 1、是拿当前系统时间作为种子,由于时间是变化的,种子变化,可以产生不相同的随机数。计算机中的随机数实际上都不是真正的随机数,如果两次给的种子一样,是会生成同样的随机序列的。 所以,一般都会以当前的时间作为种子来生成随机数,这样更加的随机。
- 2、使用时,参数可以是unsigned型的任意数据,比如srand(10);
- 3、如果不使用srand,用rand()产生的随机数,在多次运行,结果是一样的。
参考代码
void test_rand(void)
{
unsigned long n;
srand((unsigned)time(NULL));
for(int i = 0; i < 100; i++)
{
n = rand();
printf("d\n", n);
}
}