亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有個情況整不明白,是關于c語言之strcat()?

有個情況整不明白,是關于c語言之strcat()?

慕婉清6462132 2021-04-06 16:07:17
定義 char t;char *P=strstrcat(t,p) 這個函數是不是把整個str內容都接到t 里面了? C語言里的指針好難理解啊。似乎模棱兩可,功能太多了么? 都有什么功能啊?是char *t; 問的是:這個函數是不是把p所指的整個str內容都接到t 里面了,但是p只是指著str的開始字符而已啊。
查看完整描述

2 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

1. strcat(t,p)基本功能將,字符串p拷貝到t字符串尾。最終的字符串地址是t。
2.限制條件1:指針t必須指向的內存剩余空間必須大于p字符串。例如,以下代碼就不正確:
char *t;
char *p = "abcd";
strcat(t,p);//程序執行會出錯

char t[5] = "abcd";
char *p = "abc";
strcat(t,p);//程序執行會出錯

正確代碼例子如下:
char[10] = "abcd";
char *p = "abc";
strcat(t,p);//程序執行正常

3.限制條件2:t指向的內存空間已初始化。
例如,以下代碼執行會有異常:
char t[10];
char *p;
strcat(t,p);//程序執行出錯



查看完整回答
反對 回復 2021-04-11
?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

strcat(t,p)這樣寫是不對的,t是字符型變量,而strcat的參數要求是字符指針,可以像下面這樣寫
char *t = new char[100];
strcpy(t,"hello ");
char *p= "word!";
strcat(t,p);
printf("%s\n",t);
delete [] t;
輸出hello Word!



查看完整回答
反對 回復 2021-04-11
  • 2 回答
  • 0 關注
  • 413 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號