原理:
- 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;
}