rand()函数会产生范围为0至32767的随机数,% 让它与5求余,变成0至4的随机数,不过每次启动程序产生的随机数都相等,在用srand(unsigned int)输入种子数后产生的才不一样,一般都用的 srand((unsigned int)time(NULL)) 产生种子。(记得要包含 time.h 库文件)
扩展资料:
当提供的种子相同时,随机数序列也是相同的。而且当种子为1时,与不使用srand()函数时一样的,也就是说rand()函数默认情况下初始化种子值为1;
在stdlib.h 中这两个函数的原型是:
int rand();
void srand (unsigned int);
srand(time(0)); i=rand();
或者srand(time(NULL));
这样就是一个伪随机数。
rand()产生伪随机数,srand函数提供种子,种子不同产生的随机数序列也不同,所以通常先调用srand函数 time()返回的是系统的时间(从1970.1.1午夜算起),单位:秒,种子不同当然产生的随机数相同几率就很小了。
参考链接: