rand ()-rand_r ()- 產生亂數

格式

#include <stdlib.h>
int rand(void);
int rand_r(unsigned int *seed);

語言層次

ANSI

安全執行緒

rand () 不是安全執行緒,但 rand_r () 是。

說明

rand() 函數會產生範圍 0RAND_MAX (在 <stdlib.h>中定義的巨集) 內的虛擬隨機整數。 在呼叫 rand() 之前使用 srand() 函數 來設定亂數產生器的起始點。 如果您未先呼叫 srand() 函數,則預設種子為 1。
附註: rand_r() 函數是可重新啟動的 rand()版本。

回覆值

rand() 函數會傳回虛擬亂數。

範例

此範例會列印前 10 個產生的亂數。
#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
   int x;
 
   for (x = 1; x <= 10; x++)
      printf("iteration %d, rand=%d\n", x, rand());
}
 
/*********************  Output should be similar to:  ************
 
iteration 1, rand=16838
iteration 2, rand=5758
iteration 3, rand=10113
iteration 4, rand=17515
iteration 5, rand=31051
iteration 6, rand=5627
iteration 7, rand=23010
iteration 8, rand=7419
iteration 9, rand=16212
iteration 10, rand=4086
*/

相關資訊