首页 > 代码库 > C/C++ 中rand()和random()函数

C/C++ 中rand()和random()函数

nt rand(void);

  返回一个随机数0 ~ pow(2, sizeof(int))-1
long int random(void);

  返回一个随机数0 ~ pow(2, sizeof(long int))-1

void srand(unsigned int seed);

  设置rand函数的种子
void srandom(unsigned int seed);

  设置random函数的种子

注意:
  1.rand和random的区别就是返回类型不同,int和long int(虽然在普通的32位机上效果是一样的)
  2.使用的rand或者random之前,一般使用time(0) getpid()设置随机种子.否则默认种子就是1,则每次产生的随机数都是一样的
  3.rand(void)和srand(unsigned int seed)配合使用,random(void)和srandom(unsigned int seed)配合使用。


ps:
使用rand或者random生成重复随机数的概率如下:
10万 -----3个
100万-----230个
1000万----23000个
由此可见,重复率随着数量增加出现的概率变得越来越快.

C/C++ 中rand()和random()函数