int rand();所在頭文件:stdlib.h
功能:返回壹個偽隨機數。之所以說是偽隨機數,是因為在沒有其它操作下,每次執行同壹個程序,調用rand得到的隨機數序列是固定的(不是真正的“隨機”)。
為了使rand的結果更“真”壹些,也就是令其返回值更具有隨機性(不確定性),C語言在stdlib.h中還提供了srand函數,通過該函數可以設置壹個隨機數種子,壹般用當前時間的毫秒數來做參數。通過time(NULL)可以獲取到當前時間的毫秒值(該函數位於time.h)中。
使用rand的流程可以總結為:
1 調用srand(time(NULL))設置隨機數種子。
2 調用rand函數獲取壹個或壹系列隨機數。
需要註意的是,srand只需要在所有rand調用前,被調用壹次即可,沒必要調用多次。
以下是隨機獲取10個整型值並輸出的例子,輔助理解。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{ int i;
srand(time(NULL));//設置隨機數種子。
for(i = 0; i < 10; i ++)//運行10次。
printf("%d\n", rand()%101);//每次獲取壹個0~100隨機整數並輸出。
return 0;
}