关于rand()和srand()的理解
来源:互联网 发布:怎么在淘宝上挑选衣服 编辑:程序博客网 时间:2024/05/29 07:13
函数一:int rand(void);
从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。
函数二:void srand(unsigned seed);
参数seed是rand()的种子,用来初始化rand()的起始值。
如果在rand()之前没有调用srand (),它会自动调用srand(1)一次。
可以把随机数列看做是一个长为RAND_MAX的随机数组,而srand(seed)就是取数组的下标,从这个下标开始往后去数组中的数。
因此如果给seed指定的是一个定值,那么每次程序运行时rand()产生的值都会一样,虽然这个值会是[seed, rand_max(0x7fff))之间的一个随机取得的值。
所以利用时间作为seed,那么每次取到的值随机性很强的。
srand((unsigned)time(0));
例如网游的服务器,每次启动的时候都设置种子srand((unsigned)time(0)),然后所有的随机数都无须再设置种子,相当于每次都依次往后取随机数组中的数,只要rand()就可以取到比较满意的随机数了。
- 关于rand()和srand()的理解
- rand和srand的用法
- rand和srand的用法
- rand和srand的用法
- rand和srand的用法
- rand和srand的用法
- rand和srand的用法
- rand和srand的用法
- rand和srand的用法
- rand和srand的用法
- srand和rand的用法
- rand和srand的用法
- rand和srand的用法
- rand和srand的用法
- rand和srand的介绍
- srand和rand的使用
- srand和rand的用法
- rand和srand的用法
- 多线程、全双工、UDP、对话源代码
- Oracle不同行的某列字符串相加,去除重复值
- .dbmdl 文件
- 工作心得,自己感悟的
- (转)开膛破肚!惠普独显双核dv2000拆解
- 关于rand()和srand()的理解
- C# 接口
- 给某人看。
- 合格的JAVA程序员需要具备什么?
- 设计模式:Command模式
- 转---------------wince串口线程、中断等相关学习(作者:wogoyixikexie@gliet)
- 领导讲的三个激励故事
- CAS single-sign-out
- 大端 小端判断