2 回答

TA貢獻(xiàn)1831條經(jīng)驗 獲得超9個贊
1. strcat(t,p)基本功能將,字符串p拷貝到t字符串尾。最終的字符串地址是t。
2.限制條件1:指針t必須指向的內(nèi)存剩余空間必須大于p字符串。例如,以下代碼就不正確:
char *t;
char *p = "abcd";
strcat(t,p);//程序執(zhí)行會出錯
或
char t[5] = "abcd";
char *p = "abc";
strcat(t,p);//程序執(zhí)行會出錯
正確代碼例子如下:
char[10] = "abcd";
char *p = "abc";
strcat(t,p);//程序執(zhí)行正常
3.限制條件2:t指向的內(nèi)存空間已初始化。
例如,以下代碼執(zhí)行會有異常:
char t[10];
char *p;
strcat(t,p);//程序執(zhí)行出錯

TA貢獻(xiàn)1806條經(jīng)驗 獲得超5個贊
strcat(t,p)這樣寫是不對的,t是字符型變量,而strcat的參數(shù)要求是字符指針,可以像下面這樣寫
char *t = new char[100];
strcpy(t,"hello ");
char *p= "word!";
strcat(t,p);
printf("%s\n",t);
delete [] t;
輸出hello Word!
添加回答
舉報