原理:
- rand()函数利用操作系统的种子来生成伪随机数。
- 如果系统的种子没有变化,每次调用rand函数 生成的伪随机数序列都是一样的。
- 所以只要系统种子是真随机,那生成的随机数是真正意义上的“随机”
- 作时间作为种子是真随机的种子值。
- srand(unsigned seed)通过参数seed改变系统提供的种子值,在使用rand()函数之前,先利用srand函数改变系统种子值 。所以每次生成的随机数因为种子值改变------->生成的随机序列改变------->在随机序列中随机取一个值,这个结果就是真随机。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(0)); //如果去掉这一句就是伪随机
int num=rand();
printf("random number: %d\n", num);
return 0;
}