#include<stdio.h>
typedef struct student{
int no[100];
int score[100];
}ST;
int main(){
ST st;
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d %d\n",st.no[i],st.score[i]);
}
}
在以上代码中,有错误,scanf()函数后面的参数要使用地址。一个数组,它的数组名是地址,也是一个指针;而no[1],no[2]则是一个值,不是地址。上面应改为 scanf(“%d %d\n”,&st.no[i],&st.score[i]);
} 。这种情况下定义的两个数组跟直接定义两个数组没有差别。