C语言程序异常退出(编译后没有问题,但是在程序运行后,当我输入一个数字后就显示错误退出),请大侠指教

int grades[14]={0};
float total=0;
float average=0;
float deviation[14]={0.0};
int i=0;
for(i;i<14;i++)
{
printf("Please input a grade:");
scanf("%d",grades[i]);
total+=grades[i];
}

average=total/14;
for(i=0;i<14;i++)
{
deviation[i]=grades[i]-average;
}
printf("------ ------");

for(i=0;i<14;i++)
{
printf("%4d%10f\n",grades[i],deviation[i]);
}

scanf("%d",grades[i]); 改成 scanf("%d",&(grades[i])); 前者把数据保存到"0"地址,所以会出错。

printf("------ ------"); 改成 printf("------ ------\n");
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-09
scanf("%d",grades[i]);少了取址符
改成scanf("%d",&grades[i]);这样就可以了
第2个回答  2012-05-09
1.添加头文件#include <math.h>
2.将scanf("%d",grades[i]) 改成 scanf("%d",&(grades[i]));
这个程序的意思是输出什么呢,刚运行了下,输入几个数就显示几遍Please input a grade,不解 啊。。
第3个回答  2012-05-09
scanf("%d",&grades[i]);初步看了下应该是少了取地址符
第4个回答  2012-05-09
楼主你的main()函数呢?追问

额,我只是把关键部分写出来

相似回答