在第6行中,int型变量大小的对象可能没有初始化,int型变量有什么问题吗?我该如何修复它?
#include <stdio.h>
int main (void)
{
const int SIZE=5;
//variable remain constant
int grades[SIZE]= {66,50,93,67,100};
double sum= 0.0;
int i;
printf("\nMy grades are:\n");
for (i=0;i<SIZE;i++)//0 first character and < because last character is sentinel
printf("%d\t",grades[i]);
printf("\n\n");
for (i=0;i<SIZE;i++) //analyze data in list and retrieve it
sum=sum+grades[i];
printf("My average is %.2f\n\n",sum/SIZE); //sum /size for average with decimals
return 0;
}
我希望用简单的一维数组求平均值,但是这个问题不允许我运行这个程序
1条答案
按热度按时间wvyml7n51#
*
SIZE
不是 * 常量 。SIZE
是一个const int
,但是,听起来很奇怪,它仍然不是一个 * 常量 *。grades[SIZE]
是一个 * 可变长度数组 *。可变长度数组不能被初始化。*1备选案文1:使用 * 常量*
5
是int
类型的 * 常数 *。备选案文2:立即分配
从某个源(可能是 compound literal)赋值或复制值。