C编程数组索引越界

时间:2014-02-07 14:51:30

标签: c arrays arraylist indexoutofboundsexception

请提供关于数组越界的观点....如果我采取大数组输出正确位为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;

}

感谢您的帮助...

1 个答案:

答案 0 :(得分:2)

在C中,数组索引从0开始。你的循环应如下所示:

 for(i=0;i<n;i++) {...}