You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言计算平均值输出结果始终为0.0,对应代码哪里存在错误?

代码问题诊断
  • 核心错误:printf("avarage %.2f",&avg); 这行代码错误传入了avg变量的地址(&avg),而非avg本身的数值。%.2f格式符期望接收浮点型数值作为参数,传入指针(内存地址)会触发类型不匹配的未定义行为,这就是输出始终为0.0的根本原因。
  • 次要问题:输出文本中的avarage为拼写错误,正确写法是average。
修正后的完整代码
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv) {
    
    int n,i;
    float num[100],sum=0.0,avg;
    
    printf("please enter a number between 1-100: ");
    scanf("%d",&n);
    
    while(n<1||n>100){
        printf("wrong number, enter again: ");
        scanf("%d",&n);
    }
    
    for(i=0;i<n;i++){
        printf("%d. number: ",i+1);
        scanf("%f",&num[i]);
        sum+=num[i];
        }
        
    
    avg=sum/n;
    printf("average %.2f",avg);
    
    return 0;
}

内容的提问来源于stack exchange,提问作者Emre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:15:03