在线编译器 C

#include<stdio.h> int main() { int arr[12]; int i; int sum; double avg; for(i=0;i<12;i++){ scanf("%d",&arr[i]); } for(i=0;i<12;i++){ sum=sum+arr[i]; } avg=(double)sum/12.00; printf("%.2lf",avg); return 0; }
这段代码的功能是:读取12个整数存入数组,计算它们的总和与平均值,最后输出保留两位小数的平均值。

代码中存在一个关键问题:变量 `sum` 没有初始化,导致累加结果不可预测。

- 在C语言中,局部变量不会自动初始化为0。使用未初始化的变量进行加法运算,会得到垃圾值。
- 建议在声明 `sum` 时直接赋初值,或者在第一次使用前明确赋值。