#stand((unsigend)time(NULL))
stand((unsigned)time(NULL))是初始化随机函数种子,可以为rand()产生伪随机数下一个“种子”。“种子”给rand()函数赋一个初值,但是如果初值一样,产生的伪随机数规律就相同,达不到随机的效果(有必要说明:计算机无法真正的产生随机数,而是将一些已经编好的无规则数字存储在电脑中,由stand()函数获取编号,rand()按序获取数字,所以说“初值一样,就达不到随机的效果)。
而strand((unsigned)time(NULL)函数是拿当前系统时间作为种子的,时间一直在变化,所以两次给的“种子”必然不是相同的。所以以时间作为种子来生成随机数,可以达到“更加”的随机。
另外,如果想在程序中生成随机数序列,只需要在主程序开始处调用stand((unsigned)time(NULL)),后面直接用rand()就可以了。实例:
int * array()
{static int r[10];
int i;
stand((unsigned)time(NULL));
for(i=0;i<10;i++)
{r[i]=rand();
printf( "r[%d] = %d\n", i, r[i]);
}
return r;
}