簡體   English   中英

C中的字符串和字符串聯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM