随机数产生器rand(),头文件为#include<stdlib.h>
#include<stdio.h> #include<stdlib.h>int main() {int value;int i;for(i = 0; i < 10; i++){value = rand();printf("value = %d\n",value);}return 0; }
运行结果:
value = 41
value = 18467
value = 6334
value = 26500
value = 19169
value = 15724
value = 11478
value = 29358
value = 26962
value = 24464
rand实际是伪随机数产生器,每次调用rand产生的随机数都是一样的。
所以需要配合srand函数-随机数种子发生器来使用
srand()的参数是整数。参数一样,rand()产生的随机数就是不一样的,如果参数一样,产生的随机数就会一样,所以还要配合time函数来使用
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() {time_t tm = time(NULL);srand(tm);int value;int i;for(i = 0; i < 10; i++){value = rand();printf("value = %d\n",value);}return 0; }
这样配合系统时间,在srand函数中产生不同的随机数种子,生成的随机数就会不一样了。