rand函数的使用
函数说明
函数原型 | 头文件 | 返回值 |
---|---|---|
int rand(void) | <stdlib.h> | 返回0到RAND_MAX之间的整数值,RAND_MAX的范围最少在32767之间(int),即双字节(16位)。若unsigned int双字节是65535 |
备注说明:因为rand的内部是用线性同余法做的,不是真的随机数,只不过因为其周期特别长,所以在一定范围内可以看成是随机的,rand()会返回一随机值,范围在0到RAND_MAX间,在调用此函数产生随机数前,必须利用srand()设好随机数种子,若没有设随机数种子,rand()在调用时会自动设随机数种子为1。
例子:先看一下不调用srand时,函数的两次运行结果。
可以看到,如果不调用srand()的话,那么前后两次的运行结果都是一样的,也就是说由于srand默认的随机数种子为1,所以,造成了rand()的输出结果是一致的。
接下来,加入srand(),并且获取当前的系统时间作为随机数种子。
加入了srand()以后,rand()每次的输出结果都不同了,实现了真正的随机。