涂月肆丶 2021-01-15 19:32 采纳率: 0%
浏览 104

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

#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条回答 默认 最新

  • maimang09 2021-01-15 20:07
    关注

    a[100],b[20] 是局部变量,stack被损坏了。 可以根据输入动态malloc memory。

    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法