关于rand()和srand()函数求助
本人新手请教如下问题:
int main(void)
{
time_t seed=0;
seed=time(NULL);
srand((unsigned int)seed);
printf("%d\n",rand());
srand((unsigned int)seed);
printf("%d\n",rand());
system("PAUSE");
return 0;
}
int main(void)
{
time_t seed=0;
seed=time(NULL);
srand((unsigned int)seed);
printf("%d\n",rand());
printf("%d\n",rand());
system("PAUSE");
return 0;
}
第二段比第一段少了一行srand((unsigned int)seed);,结果运行程序时第一段输出的两个随机数一样,第二行不同,让我感到困惑,传递给函数的种子一定要传递两次才可以吗?
[解决办法]
相同的种子,传给srand(),多次调用rand(),产生的随机数是一样的
[解决办法]
srand只需要且必须在程序初始化时调用一次!