#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 个数字的平均值。我究竟做错了什么?
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.
一旦你开始工作,请考虑使用average和total double来代替int. 然后您需要更改%d为另一种格式。