關于字符串函數(shù)
#include <stdio.h>
#include <string.h>
int main()
{
? ? char s1[100]="";
? ? char s2[]="我愛,";
? ? char s3[]="慕課網(wǎng)";
? ? /*在以下補全代碼*/
? ? strcat(s2,s3);
? ? strcpy(s1,s2);
? ??
? ? printf("%s\n",s1);
? ? return 0;? ??
}
這是我的代碼? 我的輸出結果沒問題? 但這樣對嗎 那個拼接的可以這么寫嗎 他說s2要有足夠的內(nèi)存 這樣會不會不夠
2019-08-02
strcpy(s1,s2);
? ? strcat(s1,s3);
2019-08-28
不可以的 你的strcat(S2,S3);實際就是不能完成的 因為S2的內(nèi)存空間已定短于S3 理論上是放不下S2+S3的? ?而輸出正確的原因是你恰好把 S2+S3又STRCPY了S1(去掉這一步會出錯)? S1有足夠的空間? 至于CAT那一步為什么還是把數(shù)據(jù)存下來了? 我認為和內(nèi)存的分配有關
2019-08-02
可以的,不寫長度好像是無限(應該有限2333)