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