這樣哪里有問題嗎
#include <stdio.h>
#include <string.h>
int main()
{
? ? char s1[100]="";
? ? char s2[]="我愛,";
? ? char s3[]="慕課網";
? ? /*在以下補全代碼*/
?
? strcat(s2,s3); ? ? ? ? ? ??/*s3接到s2后面*/
? ? strcpy(s1,s2); ? ? ? ? ??/*?把s2復制到s1 ? ?*/
? ? printf("%s\n",s1);
? ? return 0; ? ?
}
2015-02-08
最短長度==s1的長度+s2的長度-1.
2015-02-08
s2的長度至少要有12字節才能完整的連接兩個字符串,然而默認的長度僅為4字節,運行豈能不出錯?
2015-01-29
不要這樣寫,這不是什么性能問題。雖然可以編譯通過,但這種寫法根本就是個bug!有嚴重的隱患,可能會引起程序崩潰。
因為strcat要求第一個參數要有足夠的長度來容納拼接后的字符串,而你的s2是一個長度只有4的字符數組,這樣就造成了數組后面的內容被覆蓋,將引起不確定的結果!
strcat這樣的函數是error-prone(易出錯)的,一定要小心使用。
如果還不明白,我在這里有詳細的解答:?http://www.xianlaiwan.cn/qadetail/64628
2015-01-29
這樣寫,理論上是可行的,但是這在C語言中,很影響性能的,你可以在本地嘗試一下