rand()随机函数产生的值的范围?

rand 随机函数产生的值的范围是多少?
网上找到的一种答案是0-1000 内的某个数。
但是我怎么记得是0-1中的某个数呢?

到底是多少呢?
产生0-32之间的某个随机数的代码是否是:rand()%32+1

第1个回答  2014-01-23
产生0-32之间的随机数是有这些方法:
rand()%32+0
rand()%(32-0+1)+0
rand()%33

追问

rand 随机函数产生的值的范围是多少?

追答我认为rand随机数可产生范围应是0~到计算机能识别的范围(无穷大)理论上是这样
下面是维基百科英文资料:
Declaration:
int rand(void);Returns a pseudo-random number in the range of 0 to RAND_MAX.The random number is returned.

第2个回答  2014-01-23
win下是16位,Linux下是32位。
具体说就是0~2^15-1,0~2^31-1。
第3个回答  2014-01-23
srand((int)time(0));
1 + 100*rand() % 32追问

没有回答完我的问题

追答

rand()
输出的范围
在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。。
只要把种子设置下就行了,对于的即可。随机数吗,只要产生的数据大于32,数字取那段都可以。
1 + rand() % 32

第4个回答  2014-01-23
mayadong7349说的是正解,我就是来支持正解的不要采纳我
相似回答