Я пытался реализовать ЛСК на языке C, но я застрял на эквивалент следующего кода в C:строка и символ конкатенации в C
return backtrack(C, X, Y, i-1, j-1) + X[i]
Я попытался с помощью strcat()
:
char *str = sequence(arr,pGene1,pGene2,i-1,j-1);
char chr= pGene1[i-1];
char *chr1 = &chr;
return strcat(str,chr1);
но это дает мне ошибку сегментации. В приведенном выше коде sequence
является рекурсивной функцией.
Да, вы правы, но почему-то до сих пор не работает. –
Убедитесь, что ваша функция 'sequence' выделяет достаточное количество памяти для добавления дополнительных символов. Если нет, вам нужно будет создать новую строку для результата. –
Да, это то, о чем я думал. Благодарю. –