段错误怎么解决#c语言

链接:https://ac.nowcoder.com/acm/contest/30896/I
来源:牛客网

img

不知道什么原因做题总是出现段错误,数组越界原因不清楚,难道是数据超范围了?蒟蒻


#include <stdio.h>
int main()
{
 int n,m,arr[100]={0},i=0,arr2[100]={0},a=0;
 scanf("%d%d",&n,&m);
 for(i=0;i<n;i++)
 {
  scanf("%d",&arr[i]);
 }
 for(i=0;i<(n-m);i++)
 {
     arr2[i]=(arr[i]+arr[i+m]);
 }
 for(i=0;i<(n-m);i++)
 {
  if(arr2[0]<arr2[i+1]) {a=arr2[0];arr2[0]=arr2[i+1];arr2[i+1]=a;}
 printf("%d",arr2[0]);
 return 0;
}
}

```

n的范围很大,你只定义了一个长度100的数组

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632