Я продолжаю получать ошибку сегментации 11 для следующего кода. Я считаю, что это имеет какое-то отношение к рекурсии, но я не совсем уверен, как это сделать. Метод должен принимать в массиве, пропускать нечетные значения и продолжать повторяться до тех пор, пока он не получит массив с единственным значением слева и возвращает это значение.Сегментация Fault 11 с рекурсивной функцией в C
Спасибо!
#include <stdio.h>
int callTable(int table[], int size)
{
int i = 0;
int j = 0;
int cHeight = size/2;
int cTable[cHeight];
while (i < size)
{
if (table[i] % 2 == 0)
{
cTable[j] = table[i];
j++;
}
i++;
}
if (size > 1)
return callTable(cTable, cHeight);
else
return cTable[0];
}
int main()
{
int tPass[100];
int i, answer;
for (i = 0; i < 100; i++)
tPass[i] = i + 1;
answer = callTable(tPass, sizeof(tPass)/sizeof(tPass[0]));
printf("%d\n", answer);
}
Что вы узнали, когда пытались запустить его в отладчике? –