rand()和srand()两个函数有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/09/20 19:43:34

对比一下源程序吧:

1.rand 随机函数发生器
用法:int rand(void);
用法?:void srand(unsigned seed);
说明:rand使随机数发生器产生一范围从0~2的随机数。发生器通过调用参数值为1的srand函数可重初始化,也可用给定的函数值。
seed调用srand产生一新的起点。
可移植性:UNIX系统适用
源程序:
#include<stdlib.h>
#define MULTIPLIER 0x015a4e35L
#define INCREMENT 1
static long Seed = 1;
int rand(void)
{
Seed = MULTIPLIER*Seed + INCREMENT;
return ((int)(Seed>>16) & 0x7fff);
}
2.srand 初始化随机数发生器
用法:void srand(unsigned seed);
源程序:
#include<stdlib.h>
#define MULTIPLIER 0x015a4e35L
#define INCREMENT 1
static long Seed = 1;
void srand(unsigned seed)
{
Seed = seed;
}
摘自TC库函数源程序一书。