rand()函式是產生隨機數的一個隨機函式。
注意:
(1)使用該函式首先應在開頭包含標頭檔案stdlib.h
#include<stdlib.h>(C++建議使用#include<cstdlib>,下同)
(2)在標準的C庫中函式rand()可以生成0~RAND_MAX之間的一個隨機數,其中RAND_MAX 是stdlib.h 中定義的一個整數,它與系統有關。
(3)rand()函式沒有輸入引數,直接透過表示式rand()來引用;例如可以用下面的語句來列印兩個隨機數:
printf("Random numbers are: %i %i\n",rand(),rand());
(4)因為rand()函式是按指定的順序來產生整數,因此每次執行上面的語句都列印相同的兩個值,所以說C語言的隨機並不是真正意義上的隨機,有時候也叫偽隨機數。
(5)為了使程式在每次執行時都能生成一個新序列的隨機值,我們通常透過為隨機數生成器提供一粒新的隨機種子。函式 srand()(來自stdlib.h)可以為隨機數生成器播散種子。只要種子不同rand()函式就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器。
rand()函式是產生隨機數的一個隨機函式。
注意:
(1)使用該函式首先應在開頭包含標頭檔案stdlib.h
#include<stdlib.h>(C++建議使用#include<cstdlib>,下同)
(2)在標準的C庫中函式rand()可以生成0~RAND_MAX之間的一個隨機數,其中RAND_MAX 是stdlib.h 中定義的一個整數,它與系統有關。
(3)rand()函式沒有輸入引數,直接透過表示式rand()來引用;例如可以用下面的語句來列印兩個隨機數:
printf("Random numbers are: %i %i\n",rand(),rand());
(4)因為rand()函式是按指定的順序來產生整數,因此每次執行上面的語句都列印相同的兩個值,所以說C語言的隨機並不是真正意義上的隨機,有時候也叫偽隨機數。
(5)為了使程式在每次執行時都能生成一個新序列的隨機值,我們通常透過為隨機數生成器提供一粒新的隨機種子。函式 srand()(來自stdlib.h)可以為隨機數生成器播散種子。只要種子不同rand()函式就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器。