回 帖 发 新 帖 刷新版面

主题:小弟愚笨求各位老鸟赐教啊拜托老

如果他返回一个1970到现在的秒数的话这个数就太大老把 ,再把它用再为随机数上野打的过分老把含有1970是一个固定的time参数吗

回复列表 (共6个回复)

沙发


不好意思打错老我是问srand()允许覆盖一个种子值,重新启动另一个随机数序列 该程序使用time(0)的返回值来设置种子,time(0)返回当前时间,通常为从一个开始的秒数  我想问一下最后time(0)的定义到底是什么的定义刚刚有个高手说
C标准库中生成伪随机数的是rand函数,使用这个函数需要包含头文件stdlib.h,它没有参数,返回值是一个介于0和RAND_MAX之间的接近均匀分布的整数。RAND_MAX是该头文件中定义的一个常量,在不同的平台上有不同的取值,但可以肯定它是一个非常大的整数。

C标准库允许我们自己指定一个初值,然后在此基础上生成伪随机数,这个初值称为Seed,可以用srand函数指定Seed。通常我们通过别的途径得到一个不确定的数作为Seed,例如调用time函数得到当前系统时间距 1970年1月1日00:00:00的秒数,然后传给srand:srand(time(NULL));

这俩函数就是为了生成个伪随机数。  结果就是个数字,看起来带有随机性。

其实有个好东西叫搜索引擎
可是小弟愚笨不明其意望各位老鸟赐教啊

板凳

小弟在线等拜托老个位哥哥姐姐

3 楼

其实这个种子数多大多小你用不着关心他。srand是一个伪随机器,也就是说在一定时间内如果你不指定种子地调用这个函数,那么其随机的结果将是可预见的。加上一个种子就是为了打乱这种伪随机器的规律,至于这个种子有多大,不是你需要关心的问题,你只要知道现在的伪随机器的结果是难以预见的就可以了。至于你关心的随机结果的问题,你完全可以对srand的结果加以计算,比如你想生成0~100内的随机数,那么,简单地,只需要形如srand()%101-1地截取这个随机结果就可以了

4 楼

哦 小弟明白了,谢谢哥哥啊

5 楼

不知道LZ是哪里人 说的是哪国汉语  我看了两遍才看懂

6 楼

不好意思啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册