我是计算机科学的学生,我对C中的余数运算符有疑问。我知道运算符的行为如下:
7 % 4 //the result is 3
但我读了一本关于编写一副牌的书中的代码,其中作者使用余数运算符使用2个变量填充牌组(面数为13,套装为4),如下所示:
for (i=0; i<52; i++) {
face=i%13; // face will have values from 0 to 12
我无法弄清楚这种计算的逻辑。有人可以解释一下吗?
答案 0 :(得分:2)
逻辑很简单。它是一个简单的数学。如果您将整数p
除以q
(q != 0
),则余数不能大于q-1
。