【发布时间】:2020-10-27 22:18:07
【问题描述】:
#include <stdio.h>
int main(void){
int numgrades;
double numdob;
int grade;
double avg;
int sum;
int i=0;
scanf("%d",&numgrades);
for(i=0;i<numgrades;i++){
scanf("%d\n",&grade);
sum=sum+grade;
}
numdob = (double)numgrades;
avg=sum/numdob;
printf("%.2lf",avg);
return 0;
}
对于此代码,我收到警告:
787490190680209271.c:15:12: warning: ‘sum’ may be used uninitialized in this function [-Wmaybe-uninitialized]
avg=sum/numdob;
^
我找不到哪里错了。这是一个简单的程序,它首先输入测试数量,然后对这些测试逐一评分。输出应该是成绩的平均值。
【问题讨论】:
-
int sum;==>int sum = 0;...这是您的编译器提供的非常有用的提示!有了一点经验,您将学会更好地理解编译器诊断,但是,基本上,阅读它们并认为编译器想说的是一个好的开始。
标签: c type-conversion