[我想做的是以结构数组的形式获取三个科目的学生的姓名和分数,并打印他们的姓名和平均分数。
我的错误在哪里?
#include <stdio.h>
typedef struct
{
char name[5];
int Kor; //yeah the three subjects
int Eng;
int Math;
}data;
double avg(int a, int b, int c) //to get the average
{
double m;
m = (a + b + c) / 3;
return m;
}
int main()
{
data group[3];
for (int i = 0; i < 3; i++)
{
scanf("%s %d %d %d", group[i].name, group[i].Kor, group[i].Eng, group[i].Math);
}
for (int j = 0; j < 3; j++)
{
printf("%s %lf\n", group[j].name, avg(group[j].Kor, group[j].Eng, group[j].Math));
}
return 0;
}
我更改了scanf
,'&'运算符用于访问存储位置中的地址。 scanf(“%d”,&a)表示必须将从键盘输入的值存储在内存位置LOCATION中,并将其命名为“ a”。
您应确保并做的一件事是使用打开大多数/所有编译器警告标志