请问大神c语言里srand(time(&seed))中的&seed是什么意思,是检测现在的系统时间赋值给seed变量么

wondercheung 2020-01-14 11:26:37
请问大神c语言里srand(time(&seed))中的&seed是什么意思,是检测现在的系统时间赋值给seed变量么,能详细点解释么
...全文
442 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_40162781 2020-01-20
  • 打赏
  • 举报
回复 1
把时间赋给seed了
棉猴 2020-01-15
  • 打赏
  • 举报
回复 1
为了避免程序每次产生相同的伪随机整数组,必须要使用变化的种子。即每次产生伪随机整数时,种子是不相同的。一般采用GetTickCount()函数来指定种子。
请参考《C++中产生随机整数的方法》
希望能够帮到您!
寻开心 2020-01-15
  • 打赏
  • 举报
回复 1
C 库函数 time_t time(time_t *seconds)
返回自纪元 Epoch(1970-01-01 00:00:00 UTC)起经过的时间,以秒为单位。如果 seconds 不为空,则返回值也存储在变量 seconds 中。
time(&seed) 就是这个秒数

srand函数,这个函数才需要种子
void srand (unsigned seed);
  参数说明:unsigned seed:随机数产生器的初始值(种子值)。
  功能说明:srand设置产生一系列伪随机数发生器的起始点,要想把发生器重新初始化,可用1作seed值。 任何共它的值都把发生器匿成一个随机的起始点。rand检索生成的伪随机数。在任何调用srand之前调用rand与以1作为seed调用srand产生相同的序列。

总结。 srand需要一个种子来初始化随机数序列, 不同的种子可以有不同的随机数输出。 用time函数可以让每次启动的时候,获得不同的随机数,否则用一个固定的种子,会让每次启动软件产生的rand()都是同一组值
wondercheung 2020-01-15
  • 打赏
  • 举报
回复
引用 5 楼 weixin_46193885 的回复:
[quote=引用 4 楼 寻开心 的回复:]

time(&seed)
cout << seed << endl;

你自己看看呗
从1970年1月1日0点0分0秒那一刻距离你调用那一刻过了多少秒, 这个seed就是多少
谢谢[/quote]我刚开始自学,有点不太懂
wondercheung 2020-01-15
  • 打赏
  • 举报
回复
引用 4 楼 寻开心 的回复:


time(&seed)
cout << seed << endl;

你自己看看呗
从1970年1月1日0点0分0秒那一刻距离你调用那一刻过了多少秒, 这个seed就是多少
谢谢
寻开心 2020-01-15
  • 打赏
  • 举报
回复


time(&seed)
cout << seed << endl;

你自己看看呗
从1970年1月1日0点0分0秒那一刻距离你调用那一刻过了多少秒, 这个seed就是多少
wondercheung 2020-01-15
  • 打赏
  • 举报
回复
引用 1 楼 寻开心 的回复:
C 库函数 time_t time(time_t *seconds)
返回自纪元 Epoch(1970-01-01 00:00:00 UTC)起经过的时间,以秒为单位。如果 seconds 不为空,则返回值也存储在变量 seconds 中。
time(&seed) 就是这个秒数

srand函数,这个函数才需要种子
void srand (unsigned seed);
  参数说明:unsigned seed:随机数产生器的初始值(种子值)。
  功能说明:srand设置产生一系列伪随机数发生器的起始点,要想把发生器重新初始化,可用1作seed值。 任何共它的值都把发生器匿成一个随机的起始点。rand检索生成的伪随机数。在任何调用srand之前调用rand与以1作为seed调用srand产生相同的序列。

总结。 srand需要一个种子来初始化随机数序列, 不同的种子可以有不同的随机数输出。 用time函数可以让每次启动的时候,获得不同的随机数,否则用一个固定的种子,会让每次启动软件产生的rand()都是同一组值
谢谢您的耐心解答,我还是不太明白这个命令里&seed的意思,举个例子现在seed=0,那么这个指令完成时,seed是否还等于0,不等于零应该等于几

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧