【发布时间】:2020-01-06 23:03:27
【问题描述】:
我正在学习 C,目前正在研究多维数组,但我不明白为什么在使用 new 平均值再次执行循环之前不需要返回“平均值”的值这是通过每次迭代完成的。
#include <stdio.h>
int main() {
int grades[2][5];
float average;
int i;
int j;
grades[0][0] = 80;
grades[0][1] = 70;
grades[0][2] = 65;
grades[0][3] = 89;
grades[0][4] = 90;
grades[1][0] = 85;
grades[1][1] = 80;
grades[1][2] = 80;
grades[1][3] = 82;
grades[1][4] = 87;
for (i = 0; i < 2; i++) {
average = 0;
for (j = 0; j < 5; j++) {
average += grades[i][j];
}
average /= 5.0;
printf("The average marks obtained in subject %d is: %.2f\n", i, average);
}
return 0;
}
在第二个 for 循环中,它首先使用我理解的 average = 0,但随着迭代的进行,average 开始增加(0+80、80 + 70、150 + 65 等。 .),为什么我不需要返回这个新的平均值以及程序如何知道在下一次循环时使用这个 new 平均值?
为什么每次迭代不只是继续使用average = 0?
【问题讨论】:
-
没有“新”变量
average。在外部 for 循环中,您只需重用相同的变量average。
标签: c arrays multidimensional-array return