c语言一个小问题

来源:百度知道 编辑:UC知道 时间:2024/05/02 21:40:16
(int limit=20;) 给值20的原因是因为用于模运算:
rand() % limit
模运算是做除法取余数运算
rand() % limit 的结果必然在 0到19之间。
chosen=1+rand()%limit;) 的结果必然在1到20之间
[也就是打算在1到20之间取随机数。

这是我引用了一段别人回答我上个问题的句子,在这里我有个问题没搞懂
为什么:rand() % limit 的结果必然在 0到19之间。
小的我菜不要见怪啊。
你的意思是不管什么数字除以20余数都是0-19???
rand()这个函数到底是什么意思啊看书没看明白。

先取看看这个
http://www.00618.net/article.asp?id=178

你所说的问题,应该是因为rand()产生的全部是正数
正数取余,肯定是正数.至于取20余数肯定0-19.这个改懂吧,呵呵

因为%是取余数的啊...
除以20 当然结果是0到19啦
明白不?

不要把商和余数的概念弄混了