首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于rand()和srand()函数

2012-06-19 
关于rand()和srand()函数求助本人新手请教如下问题:int main(void){time_t seed0seedtime(NULL)srand(

关于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只需要且必须在程序初始化时调用一次!

热点排行