我需要计算平均值,但答案是 1735473548 或类似的东西

-1 c average

#include <stdio.h>

int main(void)
{
    total = 0;
    counter = 1;

    while(counter <= 10)
    {
        printf("%s", "Enter grade: ");
        scanf("%d", &grade);
        total = total + grade;
        counter = counter + 1;
    }

    average = total / 10;

    printf("%d", "average is:", average);
}
Run Code Online (Sandbox Code Playgroud)

我试图计算 10 个数字的平均值。我究竟做错了什么?

Eri*_*hil 5

printf("%d", "average is:", average);告诉我们printf获取 anint并将其打印为十进制数字,但"average is:"传递给它的是字符串的地址而不是 an int。你应该使用printf("The average is %d.\n", average);.

编译时启用警告并升级为错误。使用 Clang,从 开始-Wmost -Werror。对于 GCC,从-Wall -Werror. 使用 MSVC,从/W3 /WX.

一旦你开始工作,请考虑使用averagetotal double来代替int. 然后您需要更改%d为另一种格式。