我有一個關於連接C中的兩個字符串以說「Ring Ding」的問題我有一個char * d,它是malloc 14 * sizeof(char)只是爲了保持安全的一面在最後的字符\,但我的功能仍然segfaulting,我不知道爲什麼。它說我不能隱式定義strcopy。我想我的問題是我不能出來說「戒指」,但我可能會誤解。在C語言中連接字符串隱式定義
char * k = malloc(14*sizeof(char));
strcopy(k, "Ring");
strcat(k, "Ding");
printf("%s\n", k);
'strcopy'應該是'strcpy'。你確定代碼是段錯誤嗎?這是一個運行時問題,我希望你的代碼無法鏈接,讓你沒有程序運行。 – simonc
只是將其從strcopy更改爲strcpy修復它!謝謝! – user1837411
如果您修復了錯字,那麼您顯示的代碼應該可以安全地運行,而不會發生核心轉儲,除非事先進行了極端的內存分配並且空間不足。你應該檢查內存分配,但假設有效,其餘的應該也可以。所以,如果問題不在這個代碼中,那麼它可能在你的程序的其他地方 - 那麼你的代碼還在做什麼? –