为什么我的代码在运行时输出0?什么是错的,我该如何解决?

时间:2014-10-08 00:01:48

标签: c arrays for-loop output average

这是我的代码,用于显示使用for循环的数组的总和和平均值,但是当我运行它时,它只输出0表示总和和平均值。

#include <stdio.h>

int main (void){

    float grades[12] = {85.0, 77.0, 15.0, 100.0, 90.0, 98.0, 62.0, 84.0, 86.0, 70.0, 100.0, 99.0};
    int counter;
    float average;
    float sum = 0.0;

    for(counter = 0; counter == 12; counter++){

        sum = sum + grades[counter];
    } 

    average = sum/12;

    printf("The sum of the grades is: %f \n", sum);
    printf("The average of the grades are: %f \n", average);

    system("pause");

}

3 个答案:

答案 0 :(得分:3)

for-loops是:for(init; while; increment)

请注意,这是WHILE,而不是UNTIL

你的循环永远不会运行:

for(counter = 0; counter == 12; counter++){

因为0永远不会等于12。

答案 1 :(得分:2)

一旦条件为假,

for就会停止。您的条件counter == 12在第一次迭代时为false,因此循环永远不会运行。

答案 2 :(得分:2)

您的for - 循环错误。尝试

for(counter = 0; counter < 12; counter++) {
    ...
}