为什么这个数组程序会出现数组指针越界的错误。这是课本的原程序丫。。

#define N 4
main()
{
int a[N];
int i,j,t;
printf("Please input %d numbers:\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<=N-2;i++)
for(j=0;j<=N-2-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
printf("\n The sorted numbers:\n");
for(i=0;i<=N-1;i++)
printf("%d",a[i]);
printf("\n");
}

#include <stdio.h>
#define N 4
int main()
{
int a[N];
int i,j,t;
printf("Please input %d numbers:\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<=N-2;i++)
for(j=0;j<=N-2-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
printf("\n The sorted numbers:\n");
for(i=0;i<=N-1;i++)
printf("%d",a[i]);
printf("\n");
return 0;
}
目测没有越界
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-04
没越界!
相似回答