前前后后出现了N次错误。 出现了段错误 发现是数组开小了 。
百度了一下段错误:
段错误就是指访问的内存超出了系统所给这个程序的内存空间
一旦一个程序发生了越界访问,cpu就会产生相应的保护,于是segmentation fault就出现
了通过上面的解释,段错误应该就是访问了不可访问的内存,这个内存区要么是不存在的,
要么是受到系统保护的,还有可能是缺少文件或者文件损坏。
#include<stdio.h>
int a[100010]={0};
int main(){
int n;
int schoolID,score;
int k;
int MAX=-1;
scanf("%d",&n);
for(int i=0;i<n;i++){ /*如果是while(n--)错误 是(int i=1;i<=n;i++)正确 不知道为什么
while错误*/
scanf("%d %d",&schoolID,&score);
a[schoolID]+=score;
}
for(int i=1;i<=n;i++){
if(a[i]>MAX){
k=i;
MAX=a[i];
}
}
printf("%d %d\n",k,MAX);
return 0;
}