c语言rand函数源码 c语言 rand函数( 三 )


这正是事物的共性 —— 规律性 。从这个角度讲,我们就可以接受这样的事实了:计算机只能产生伪随机数而不是绝对的随机数 。
系统在调用rand()之前都会自动调用srand(),如果用户在rand()之前曾调用过srand()给参数seed指定了一个值 。
那么 rand()就会将seed的值作为产生伪随机数的初始值;而如果用户在rand()前没有调用过srand(),那么系统默认将1作为伪随机数的初始 值 。如果给了一个定值,那么每次rand()产生的随机数序列都是一样的 。
所以为了避免上述情况的发生通常用srand((unsigned)time(0))或者srand((unsigned)time(NULL))来 产生种子 。如果仍然觉得时间间隔太小 。
可以在(unsigned)time(0)或者(unsigned)time(NULL)后面乘上某个合适的整数 。例如,srand((unsigned)time(NULL)*10)
c语言rand函数源码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言 rand函数、c语言rand函数源码的信息别忘了在本站进行查找喔 。

推荐阅读