索引大小增加时的分段错误

时间:2015-01-27 14:24:32

标签: c

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main() {
    long int a[1000000],n,i,l[1000000],e[1000000],lon,j;
    scanf("%ld",&n);
    for(i=1;i<=n;i++)
        scanf("%ld",&a[i]);
        e[1]=a[1];
        l[1]=1;
        for(i=2;i<=n;i++)
        {
            l[i]=0;
        for(j=i-1;j>=1;j--)
            {
            if((a[i]>e[j])&&(l[i]<l[j]))
                l[i]=l[j];
        }
            l[i]=l[i]+1;
            e[i]=a[i];
    }
    lon=l[1];
    for(i=2;i<=n;i++)
        {
        if(lon<l[i])
            lon=l[i];
    }
    printf("%ld",lon);
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */
    return 0;
}

当我运行此代码时,它会给出分段错误。这个错误是什么? 如果我使用[100000]而不是[1000000]它会给出正确答案。

0 个答案:

没有答案