请提供关于数组越界的观点....如果我采取大数组输出正确位为20数组大小....打印垃圾值
#include<stdio.h>
int main()
{
int message[200],i,j,n,count,temp;
count=0;
scanf("%d",&n);
//input taking line
for(i=1; i<=n; i++)
scanf("%d",&message[i]);
for(i=1; i<=n; i++)
{
if(message[i]==1)
{
count+=1;
}
if(message[i]==0)
count=0;
if(count==5)
{
count=0;
temp=message[i+1];
message[i+1]=0;
//n=n+1;
//n1=n;
for(j=(n); j<(i+2); j--)
{
message[j+1]=message[j];
}
n++;
message[i+2]=temp;
}
}
printf("line\n");
//n1+=1;
for(i=0; i<n; i++)
{
printf("%d\n",message[i]);
}
//n1+=1;
return 0;
}
感谢您的帮助...
答案 0 :(得分:2)
在C中,数组索引从0
开始。你的循环应如下所示:
for(i=0;i<n;i++) {...}