我是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++;
}
}
}
答案 0 :(得分:4)
问题在于变量a
和j
。在C语言中,您无法确定在声明它们时它们将具有值0
。
答案 1 :(得分:1)
如果您未提供i
和a
初始值,则可能会尝试超出数组的范围。