C语言srand(time(0))

srand(time(0))这句话到底什么意思,什么1970年1.1到现在的秒,从那时到现在的秒数那么大,到底有什么作用... srand(time(0))这句话到底什么意思,什么1970年1.1到现在的秒,从那时到现在的秒数那么大,到底有什么作用 展开
 我来答
阿冬76
推荐于2017-10-09 · TA获得超过5028个赞
知道大有可为答主
回答量:2710
采纳率:88%
帮助的人:1104万
展开全部
这是用于初始化随机函数发生器的,计算机中的随机函数在生成一个随机数时需要用到一个称为随机数发生器的东西,如果不对其进行初始化,每次生成的随机数就会是相同的。
srand函数就用来初始化这个发生器,参数time(0)能够生成从1970年1月1日到当前机器时间的秒数,这个数在你每次执行程序的时候都会不断增长、变化,所以用它当做种子来初始化发生器,就会生成不同的随机数了。
追问
也就是rand其实只是根据种子的不同,来在范围内提取数字对吗
追答
那倒不是,种子只要不同,就可以保证每次生成的数字不同,而生成数字的范围取决于以下公式:
(double)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;

可以生成[range_min, range_max)区间中的随机数。
在大围山拉小提琴的冷杉
2014-10-23 · TA获得超过369个赞
知道小有建树答主
回答量:376
采纳率:0%
帮助的人:224万
展开全部
我建议你直接查一下MSDN或者百度一下srand函数的用法,你就知道这句话的意思了。
不要盲目只管问。
更多追问追答
追问
我就是查过了,希望有人简单直接告诉我,你不回答就算,别说这种话来浪费时间
追答
那好。
如果你看过了,那么就应该知道srand()函数的作用吧?
那么time(0)的结果其实就是这个函数的参数。那么这个time(0)的结果到底是用来做什么的不就是一目了然了么?

所以,你可以审视一下到底是谁在浪费时间。
如果你把在百度知道答题的时间用来认真把srand()函数的解释看完,我相信你不会来这里问的。
甚至你就直接按照关键字“srand(time(0))”去百度一下,你就已经可以得到前辈在CSDN上的帖子作出的解释以及其他各种解释。

我并不想让你省掉自己可以学习到的东西,仅此而已。如果不喜欢,我可以删掉我的回答。谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式