1. 程式人生 > >srand函式和rand函式之間到底什麼關係?

srand函式和rand函式之間到底什麼關係?

要生成一個隨機整數,為什麼要用到srand和rand兩個函式,這兩個函式之間到底什麼關係?

srand是用來設定隨機數種子,否則,程式每次執行產生的隨機數序列是一樣的,srand的引數是unsigned int型的,你可以指定任意數值,但是因為time(0)每次執行返回的結果都不一樣可以使程式每次執行產生的隨機數序列都不同,所以一般都使用srand(time(0));設定隨機數種子

rand的取值範圍是0-RAND_MAX之間的任意整數,在我的機子上RAND_MAX為0x7fff

time(0)返回自1970年1月1日00:00:00到當前時間經過的秒數,可以說每次呼叫time(0)返回的都不一樣,它的引數是指向time_t型別的指標,如果指定,函式將把結果儲存在指標所指向的物件中

標頭檔案包含<time.h><stdlib.h>
                    srand(time(0));
                    rand();