weixin_52629826
涂月肆丶
2021-01-15 19:32

对于大的数据进行调试时,显示数组corrupted

  • c语言
#include <stdio.h>
int main()
{
  int n,m,i,t,r,sum=0,a[100],b[20],max,min,c;
  double s;
  scanf("%d%d",&n,&m);
   for(i=0;i<n;i++)
	{
	 for(t=0;t<m;t++)
	 {
    	  scanf("%d",&a[t]); 
	      sum+=a[t];
	 }
	  max=a[0],min=a[0];
   	     for(r=0;r<m;r++)
		{
		  if(max<=a[r])
			  max=a[r];
		  if(min>=a[r])
			  min=a[r];
		}
	   b[i]=sum-max-min;
		sum=0;
	}
	for(i=0;i<n;i++)
	{
	 if(b[i]<b[i+1])
		 c=b[i+1];
	}
	s=c/(m-2)*1.0;
	printf("%.2f",s);
	return 0;
}

对小的数据都是正确的,但是数据一多的时候就显示Run-Time Check Failure #2- Stack around variable 'a' was corrupted,不知道该怎么改了,求求大家帮帮,孩子初学,啥都不太懂,拜托各位啦!

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答