#include<stdio.h>
struct student
{
int num;
char name[20];
float score[2];
};
int main()
{
struct student s[100];
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%s",&s[i].num,&s[i].name);
for(int j=0;j<2;j++)
{
scanf("%f",&s[i].score[j]);
if(s[i].score[0]>90&&s[i].score[1]>90)
printf("%d\n",s[i].num);
}
}
return 0;
}
```我这哪有问题?为什么有符合条件的循环就停止
scanf()函数调用的参数错了。scanf("%d%s",&s[i].num,&s[i].name);的最后一个参数,不用加 & ,name本身就是数组的地址了。