? ? char s1[100]="";? ? char s2[]="我愛,";? ? char s3[]="慕課網(wǎng)";? ? /*在以下補(bǔ)全代碼*/? ? strcat(s2,s3);? ? #strcpy(s1,s2);? ? printf("%s\n",s2);? ? return 0; ? ?比如我strcat是可以成功的,我試過輸出s2,但是加上strcpy以后就會(huì)出錯(cuò)。為啥= =
3 回答
已采納

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
char?s2[]="我愛,"; char?s3[]="慕課網(wǎng)"; /*在以下補(bǔ)全代碼*/ strcat(s2,s3);
這里其實(shí)有點(diǎn)問題,你在s2后拼接s3時(shí)其實(shí)訪問了非法內(nèi)存,追加時(shí)需要保證第一個(gè)字符串在加上第二個(gè)之后依舊不能溢出,定義s2的時(shí)候這樣char s2[50]="我愛,";保證不溢出。
?#strcpy(s1,s2);這里是敲錯(cuò)了吧。
- 3 回答
- 0 關(guān)注
- 1736 瀏覽
添加回答
舉報(bào)
0/150
提交
取消