是在弄即将发布的一篇博客时顺便弄的,还是先写这个。
rand()函数已经被说烂了,包括这里写的,返回一个0到RAND_MAX(在我的电脑上是32767)的整数。srand(unsigned int)可以设置随机种子,默认为1。设定了初始的随机种子后,以后再重复调用rand()所生成的随机数是确定的。
代码如下
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main() {
int i;
printf("%d\n\n", RAND_MAX);
for (i = 0; i < 10; i++)
printf("%d ", rand());
puts("");
srand(1);
for (i = 0; i < 10; i++)
printf("%d ", rand());
puts("");
srand(time(NULL));
for (i = 0; i < 10; i++)
printf("%d ", rand());
puts("");
for (i = 0; i < 10; i++) {
srand(time(NULL));
printf("%d ", rand());
}
return 0;
}
运行结果:
32767
41 18467 6334 26500