rand()は 0 から RAND_MAXまでの疑似乱数を返す。stdlib.hに定義されている。
多くのプログラムはエポックからの経過秒数を種にして使用している。
#include <stdio.h> #include <stdlib.h> int main() { int i; printf("RAND_MAX: %u\n", RAND_MAX); srand(time(0)); printf("0からRAND_MAXまでの乱数値\n"); for(i=0; i< 8; i++) printf("%d\n", rand()); printf("0から20までの乱数値\n"); for(i=0; i< 8; i++) printf("%d\n", (rand()%20)+1); return 0; }
$ ./a.out
RAND_MAX: 2147483647
0からRAND_MAXまでの乱数値
1059493860
583633074
1632571078
678819775
1658879329
1703267400
1565774963
996314262
0から20までの乱数値
13
4
2
13
13
7
11
18