香山新村西北街坊:运行c程序为什么会出现这种情况?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 20:19:27
源代码:
main()
{
int a[5],i,j,t;
for(i=0;i<=4;i++)
scanf("%d",&a[i]);
for(i=0;i<=4;i++)
for(j=4-i;j>=0;j++)
{
t=a[i];a[i]=a[j];a[j]=t;
}
for(j=0;j<=4;j++)
printf("%d",a[j]);
getch();
}

for(i=0;i<=4;i++)
for(j=4-i;j>=0;j++)
当i=0的时候,j=4-i=4>=0,循环一次;j++,j=5,此时已经下标越界
估计你是想写:
for(i=0;i<=4;i++)
for(j=4-i;j>=0;j--)

指针操作的时候出问题了吧
没有原代码,我估计是用scanf的时候忘了加地址运算符&
要细心!!

估计是你的指针操作使程序溢出了,检查数组下标,指针之类的有没超出范围