C 以下代码中%的用途是什么?

C 以下代码中%的用途是什么?,c,arithmetic-expressions,C,Arithmetic Expressions,我正在为我的大学作业做一个蛇游戏。现在,我知道这不是完成任务的理想语言,但这是我的任务。我找到了一个示例代码,目前正在重写/理解它,以便我可以编写自己的工作代码。到目前为止,这是一个简单的过程,所有的一切都在一起,但就我的一生而言,我不明白为什么他们在以下几行中加了一个百分比: for (i = 1; i <= 1 + rand() % 10; i++) food.x = 12 + rand() % (68 - 12); for (i

我正在为我的大学作业做一个蛇游戏。现在,我知道这不是完成任务的理想语言,但这是我的任务。我找到了一个示例代码,目前正在重写/理解它,以便我可以编写自己的工作代码。到目前为止,这是一个简单的过程,所有的一切都在一起,但就我的一生而言,我不明白为什么他们在以下几行中加了一个百分比:

        for (i = 1; i <= 1 + rand() % 10; i++)
            food.x = 12 + rand() % (68 - 12);
        for (i = 1; i <= 1 + rand() % 10; i++)
            food.y = 12 + rand() % (28 - 12);

for(i=1;i
%
是模运算符,在本场景中主要用于限制值,请参见

f、 e。
1+rand()%10
表示值为1+[0..9]-因此max为10。[0..9]是随机数的模10,是介于0和9之间的数字。

%是“模”运算符,即:它是其两个操作数的整数除法的余数

这是保证rand()的输出在一定范围内的一种方法。 e、 g.:rand()%100将介于099

换句话说:12+rand()%(68-12)将介于12和67之间

因为:rand()%(68-12)介于068-12-1

因此:12+rand()%(68-12)介于1267
rand()
生成一个介于0和rand\u MAX之间的数字。
rand()%10
生成一个介于0和9之间的数字。