分段错误:11,当我运行C代码时

时间:2014-02-16 00:08:38

标签: c segmentation-fault

我是C编程的新手。当我写一个关于排序整数的c代码。我有一个分段错误:11。我搜索相关文章,但对我来说似乎太混乱了。这是我的代码的第一部分(获得10个输入整数,并导出所有奇数整数)。你能救我吗?

#include <stdio.h>

int i;

int main(void)
{
int array[10];
int previous[10],odd[10];


printf("Pls enter 10 nums\n");
while(i < 10)
{
    scanf("%d", &array[i++]);
}

for(i = 0;i < 10;i++)
{
printf("%d ", array[i]);    
}

for(i = 0;i < 10;i++)
{
    int a,j;
    if(array[i] % 2 == 1)
    {
        previous[a] = i;
        odd[j] = array[i];
        a++;
        j++;
    }
}
}

2 个答案:

答案 0 :(得分:4)

问题在于变量aj。在C语言中,您无法确定在声明它们时它们将具有值0

答案 1 :(得分:1)

如果您未提供ia初始值,则可能会尝试超出数组的范围。