フォーマット
#include <stdlib.h> int rand(void); int rand_r(unsigned int *seed);
言語レベル: ANSI
スレッド・セーフ: いいえ。 rand() はスレッド・セーフではありませんが、rand_r() はスレッド・セーフです。
説明
rand() 関数は、0 から RAND_MAX (<stdlib.h> で定義されるマクロ) までの範囲の疑似乱数整数を生成します。 rand() を呼び出す前に srand() 関数を使用して、乱数発生ルーチンの開始点を設定します。最初に srand() 関数を呼び出さない場合、デフォルトの seed は 1 です。
戻り値
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 */
関連情報