表达式必须包含指向对象的指针类型,但它具有类型 "int
用的是VS2019编译器,我不理解为什么会报错呢,感觉没毛病呀
```c++
struct Student {
char num[6];
char name[10];
int score;
float average;
}stu[5];
int main() {
int i, k;
int j;
float sum;
for ( i = 0; i < 3; i++)
{
printf("请依次输入学生的信息:\n");
printf("请输入学号:\n");
scanf("%s", stu[i].num);
printf("请输入姓名:\n");
scanf("%s", stu[i].name);
sum = 0;
for ( j = 0; j < 3; j++)
{
printf("分数%d:\n",j+1);
scanf("%d", &stu[i].score[j]); //此处报错:表达式必须包含指向对象的指针类型,但它具有类型 "int
sum += stu[i].score[j]; //此处报错:表达式必须包含指向对象的指针类型,但它具有类型 "int
}
stu[i].average = sum / 3;
printf("-----------------------------\n");
}
for ( k = 0; k < 3; k++) //输出三个学生的信息以及平均成绩
{
printf("学号:%s\n",stu[k].num);
printf("姓名:%s\n",stu[k].name);
printf("平均成绩:%.lf\n",stu[k].average);
}
return 0;
}
```
数组应该对应数组,结构体内对score的定义应该改为数组
即int score[3];