我目前正在學習用 C 編程,但我不明白為什么我的終端在運行我的代碼時會輸出:“zsh: trace trap ./a.out”。
這是我的代碼:
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "Hello ";
char str2[] = "Wolrd!";
strcat(str, str2);
printf("%s\n", str);
return 0;
}
這是我在終端中輸入的內容:
gcc test.c
./a.out
uj5u.com熱心網友回復:
問題是str根據您初始化它的文字的大小來分配的。 strcat假設您有足夠的空間來連接兩個字串。
更改str[]為str[100]它會起作用,因為您有足夠的空間容納兩個字串。這可以解決您的問題,但您需要了解陣列、記憶體分配并閱讀函式的期望,例如strcat.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/473935.html
上一篇:JavaScript我無法將字串引數發送給函式,即使我可以在點擊事件上使用div.innerHTML發送int引數
