【问题标题】:convert integers to doubles to make program calculate average of number of tests将整数转换为双精度数以使程序计算测试次数的平均值
【发布时间】: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


【解决方案1】:

好吧,唯一缺少的就是在我声明 int sum 时赋值为 0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    相关资源
    最近更新 更多