BBS上peter大牛的問題:
char *s = "string1";
strcpy(s, "string2");
這樣為什么會segmentation fault?
后面的解答:
char *s="string1" //此時"string1"在常量區(qū) s是指向常量區(qū)的一個指針 你不能對
常量區(qū)的內(nèi)容進(jìn)行修改
char s[]="string2" //此時"string2" 在棧區(qū) 此時可以對里面的內(nèi)容進(jìn)行修改
所以你可以寫成
char s[]="string1";
strcpy(s,"string2");