让我们的你想了解
什么准系统10
int numbers[] = { 92, -108, 2, 120, 67, 4, -81, 9, 88, 1 };
int min, max;
min = max = numbers[0];
for (int i = 1; i < 10; i++) {
if (numbers[i] < min)
min = numbers[i];
if(numbers[i] > max){
max = numbers[i];
}
}
首先,您正在初始化一系列数字,以便在{}
之内有任何数字。所以你有一个长度为10的数组。然后我们声明两个int
的最小值和最大值。这些值是这样:
numbers[0] = 92;
numbers[1] = -108;
numbers[2] = 2;
numbers[3] = 120;
numbers[4] = 67;
numbers[5] = 4;
numbers[6] = -81;
numbers[7] = 9;
numbers[8] = 88;
numbers[9] = 1;
下一个语句被声明min
和max
作为该阵列的第一个元素(0是第一个,一路到尺寸-1阵列,在这种情况下是9)。
min = numbers[0] (92).
max = numbers[0] (92).
下一部分是for循环,这是所有计算都起作用的地方。 for循环说开始一个int
命名为i
关闭1.每当你经过这个循环,比较中间的布尔值,在这种情况下是i < 10
这意味着只要i
小于10,留在循环。在每次迭代之后,执行第三个操作,在这种情况下为i++
,这意味着将i
增量为1.
太好了,我们正在通过for循环。让我们从第一次迭代开始,这意味着i
是1.我们正在采用numbers
数组的第二个元素(0是第一个元素,请记住?),并将其与当前值min
首先进行比较(这是第一个元素的阵列,92)。
那么,如果你看看数值,-108,这是数组中的第二个元素,小于最小值。因此,现在将min
设置为数组中的第一个元素。接下来,我们比较-108,看它是否大于max
,它又是92. -108不大于92,因此它跳过了if语句。
i = 1
min = numbers[1] (-108).
max = numbers[0] (92).
让我们通过for循环的第二次迭代。自从我们走到最后,我们做了i++
声明。现在我们在i
= 2.让我们检查以确保我们不会退出。 i
的值是否小于10?是的,让我们继续从顶端!
数字[2](它是2)是否小于当前值min
(-108)?不,请跳过,如果声明。是大于当前值(92)的数字[2]?不,让我们再看看值:
i = 2
min = numbers[1] (-108)
max = numbers[0] (92)
接下来,因为我们是在底部,做i++
。 i
现在等于3.
这一直持续到i
= 9,因为当i
= 10时,由于for循环中的中间语句exit子句,它退出for循环。
数字[i]引用数组中的单个数字。所以例如数字[0]是92,数字[1]是-108等。 – terpinmd