srand()はrand()で生成する疑似乱数の整数系列の新しいシード値を設定します。
#include <stdlib.h>
void srand(unsigned int seed);
seedには、初期化に使うシード値を指定します。この値に(unsigned) time(NULL)を指定すると現在時刻がシード値として使われます。 シード値を指定しない場合、関数rand()は自動的にシード値を1とした乱数を生成します。
次の例は0~99までのランダムな整数を10個出力します。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i;
// 乱数ジェネレーターを初期化する
srand((unsigned) time(NULL));
// 乱数を10個生成する
for (i=0; i<10; i++)
printf("%d ", rand() % 100);
printf("\n");
return 0;
}