Posted on 2007-06-17 20:22
ZelluX 阅读(705)
评论(2) 编辑 收藏 所属分类:
C/C++
BBS上peter大牛的问题:
char *s = "string1";
strcpy(s, "string2");
这样为什么会segmentation fault?
后面的解答:
char *s="string1" //此时"string1"在常量区 s是指向常量区的一个指针 你不能对
常量区的内容进行修改
char s[]="string2" //此时"string2" 在栈区 此时可以对里面的内容进行修改
所以你可以写成
char s[]="string1";
strcpy(s,"string2");