如果我们需要这个函数产生某个区间的随机数怎么做呢?首先我们看看rand() 函数原型:int rand(void),可以看出这个函数不接受任何参数,那么怎么让他产生某个区间的随机呢?
通用的公式是这样的:n+rand()%m ,这个公式的意思产生区间[n,n+m)的随机数,即包括n到不包括m之间的随机数。由区间可以看出,式子中n 是区间的开始,m你想要的区间的差。
这个通用公式也很容易理解,因为rand() 这个函数不接受任何参数,所以他本身始终表示0到RAND_MAX的随机数,所以我们可以在它产生缺省随机数的基础上加n,就是想要的区间的起始,在用m表示区间的结束。
需要注意的是,这样的产生的随机数缺省是左闭右开的:[n,m)
rand()函数用32位的时间替代