这正是事物的共性 —— 规律性 。从这个角度讲,我们就可以接受这样的事实了:计算机只能产生伪随机数而不是绝对的随机数 。
系统在调用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函数源码的信息别忘了在本站进行查找喔 。
推荐阅读
- 2020推荐什么牌子电视,2020年什么牌子的硒片好用
- 连击格斗小游戏,格斗游戏技能连招系统
- mysql怎么计算列的和 保护作品完整权和改编权的区别
- 高速摄像头怎么添加路由器,高速摄像头安装教程
- 廊坊专业sap支持服务,廊坊较好的spa
- xbox虚拟机超能版破解,xboxone 模拟器
- C语言进程处理函数 c 进程
- java中实现接口代码,java中实现接口代码的方法
- 华为荣耀手机图标ios,华为荣耀手机图标颜色怎么改变