函數一:int rand(void);ide
從srand (seed)中指定的seed開始,返回一個[seed, RAND_MAX(0x7fff))間的隨機整數。函數
函數二:void srand(unsigned seed);it
參數seed是rand()的種子,用來初始化rand()的起始值。 能夠認爲rand()在每次被調用的時候,它會查看:class
1) 若是用戶在此以前調用過srand(seed),給seed指定了一個值,那麼它會自動調用
srand(seed)一次來初始化它的起始值。程序
2) 若是用戶在此以前沒有調用過srand(seed),它會自動調用srand(1)一次。 根據上面的第一點咱們能夠得出:
a. 若是但願rand()在每次程序運行時產生的值都不同,必須給srand(seed)中的seed一個變值,這個變值必須在每次程序運行時都不同(好比到目前爲止流逝的時間)。
b. 不然,若是給seed指定的是一個定值,那麼每次程序運行時rand()產生的值都會同樣,雖然這個值會是[seed, RAND_MAX(0x7fff))之間的一個隨機取得的值。
c. 若是在調用rand()以前沒有調用過srand(seed),效果將和調用了srand(1)再調用rand()同樣(1也是一個定值)。di