且未

博客园 首页 新随笔 联系 订阅 管理

这道题我主要想说一下,数组开的不够大的时候出现了Runtime Error (ACCESS_VIOLATION)问题,我百度说的是数组开的不够大,然后我开了1000就对了,but我不知道为啥?


#include <stdio.h>
int main()
{
int n,t,m,i,j,c;
int a[1000];
scanf("%d",&n);
for(c=0;c<n;c++)
{
scanf("%d",&m);
for(j=0;j<m;j++)
{
scanf("%d",&a[j]);
}
for(i=0;i<m-1;i++)
{
for(j=0;j<m-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("%d",a[0]);
for(i=1;i<m;i++)
printf(" %d",a[i]);
printf("\n");

}
return 0;
}

posted on 2017-04-12 17:25  阿聊  阅读(94)  评论(0编辑  收藏  举报