0

所以,我使用模数和 rand 作为我正在编写的函数的一部分。现在,我明白了:

rand() % 6 + 1;在这种情况下,给我一个介于 1 到 6 之间的随机数。不过,我也知道

rand();给我一个从 0 到 32767 的随机值并srand;更改序列

但我想...

%a=之后的任何剩余部分a / b

……那么,如果要分手rand() % 6 + 1;,会是什么样子?

为了我自己的利益,我需要理解这一点,因为我是rand() % 6 + 1;这样看的:

一些随机数/ 6 =随机剩余的余数。然后添加一个。

所以,我的问题有两个:

1 - 如何rand()突然限制为 1 - 5 而不是 0 - 32767 的数字范围?

2 - 这些数字中的任何一个(1-5)除以 6 都会给你一个小数,而不是一个整数,我认为模数只适用于整数。我在这里缺少什么信息?

如您所见,我对此感到困惑。总是感谢帮助:)

4

1 回答 1

0

rand()%6给出除以 6 时生成的随机数的提示

例如rand()生成一个数字 100,那么 100%6 的结果就是 100 除以 6 得到的提醒,即 4。所以无论从函数 rand() 生成数字,当 %6 完成时,输出将在 0-5 之间(除以 6 时的提醒)。

“rand() 是如何突然被限制为 1 - 5 而不是 0 - 32767 的数字谱?”

rand() 不限于“0-5”,它仍然输出 0 - 32767 之间的数字(或任何不知道最大限制的数字)。但是当我们执行 rand()%6 时,输出将在 0-5 范围内

于 2013-02-18T05:59:36.820 回答