rand 与random的区别(转)

rand 与random的区别(转)

int 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函数的种子 总结: rand和random的区别就是返回类型不同,int和long int(虽然在普通的32位机上效果是一样的) 使用的rand或者random之前,一般使用time(0) getpid()设置随机种子.否则默认种子就是1,则每次产生的随机数都是一样的 ps: 使用rand或者random生成重复随机数的概率如下: 10万 -----3个 100万-----230个 1000万----23000个 由此可见,重复率随着数量增加出现的概率变得越来越快.