rand()与srand()

标准库中包含一个可移植的实现伪随机数发生器的函数rand以及一个初始化种子数的函数srand。

unsigned long int next = 1;

/*rand函数:返回0~32767之间的伪随机数*/
int rand(void)
{
	next = next * 1103515245 + 12345;
	return (unsigned int)(next/65535)%32768;
}

/*srand函数:为rand()函数设置种子数*/
void srand(unsigned int seed)
{
	next = seed;
}

函数rand()生成介于0和RAND_MAX之间的伪随机整数序列。其中RAND_MAX是在<stdlib.h>中定义的符号常量。下面是一种生成大于等于0但小于1的随机浮点数的方法:

#define frand() ((double)rand())/(RAND_MAX + 1.0)
原文地址:https://www.cnblogs.com/bo083/p/2175525.html