用 c 语言产生随机数 rand()
在 C 语言中,rand()函数可以用来产生随机数,但是这不是真真
意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它
为种子,为基准以某个递推公式推算出来的一系数,当这系列数很
大的时候,就符合正态公布,从而相当于产生了随机数,但这不是
真正的随机数,当计算机正常开机后,这个种子的值是定了的,除
非你破坏了系统,为了改变这个种子的值,C 提供了 srand()函数,
它的原形是 void srand( int a)。
可能大家都知道 C 语言中的随机函数 random,可是 random 函数并
不是 ANSI C 标准,所以说,random 函数不能在 gcc,vc 等编译器下
编译通过。
rand()会返回一随机数值,范围在 0 至 RAND_MAX 间。返回 0 至
RAND_MAX 之间的随机数值,RAND_MAX 定义在 stdlib.h,(其值
至少为 32767)我运算的结果是一个不定的数,要看你定义的变量类
型,int 整形的话就是 32767。 在调用此函数产生随机数前,必须先
利用 srand()设好随机数种子,如果未设随机数种子,rand()在调用
时会自动设随机数种子为 1。一般用 for 语句来设置种子的个数。具
体见下面的例子。