[英]string and character concatenation in C
我試圖用C語言實現LCS,但是我在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
是遞歸函數。
您缺少來自chr
的\\0
終止符。 你也不需要額外的指針chr1
。 以下應該有效:
char *str = sequence(arr, pGene1, pGene2, i-1, j-1);
char chr[2] = { pGene1[i-1], '\0' };
return strcat(str, chr);
我已經使用了這個功能,現在它可以工作了
char * addchartostring(char * str, char mych){
int l = strlen(str);
char *added = (char*)malloc((l+2)*sizeof(char));
char ch[] = {mych, '\0'};
strcpy(added, str);
strcat(added, ch);
return added;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.