c语言里 random函数怎么实现的

他是怎么从随机数里随意选的一个数,想知道他实现的过程,

    rand函数是根据一个数(我们可以称它为种子)为基准,以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,

    但这产生的并不是真意正义上的随机数,是一个伪随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值。

    种子相同,产生的随机序列相同。这样做的好处是,方便我们产生一组固定的随机序列,用来调试程序。

    C提供了srand()函数,用来设置种子,它的原形是void srand( int a)。

    在调用rand函数产生随机数前,应该先利用srand()设好随机数种子,如果未设随机数种子,默认种子为1。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-09
用的是伪随机算法,由第一个种子数开始算,种子一样,输出序列就一样。追问

也就是不是完全的随机?也有 顺序可查

追答

是的,伪就是假的。srand()设置种子,rand()取数。种子不变,每次重新运行,由rand()得到的序列不变。

本回答被提问者和网友采纳
第2个回答  2015-10-09
都是已经封装好的函数追问

我想知道 他具体实现的过程 是怎么在 随机数中选取其中一个的