函数rand()是真正的随机数生成器。而srand()会设置供rand()使用的随机数种子。
假设你在第一次调用rand()之前没有调用srand(),那么系统会为你自己主动调用srand()。
注意而使用同种子同样的数调用 rand()会导致同样的随机数序列被生成。
因此我们假设要生成以m为随机数的种子首先要调用srand();
以下就举例,生成以100,为种子的随机数10个,将他们控制在0~100之内.
#include <stdio.h> int random(int m){ return rand()%m;//將随机数控制在0~m-1之间 } int main(){ int n=10,i,m=100,s=50; srand(s);//设置随机数种子 for(i=0;i<n;i++){ printf("%d ",random(m)); } printf(" "); return 0; } /*常常使用:srand(time(NULL));来生成以当前时间为种子的随机数,要包括<time.h>*/