字符指针数组赋值出错

应该会有很多 warning吧,你把 const char* 强制转换为 char *,然后再赋值,具体的不同的编译器下报警不同,内存分配处理机制也会有差异。就像你把一段只读存储器中的常量拿来做写操作,一定会引发异常的。
■网友
额,这个问题很简单。。。你那样定义的是常量字符串,,常量字符串怎么可能修改呢。好,我们说细一点,你的“zero”和“one”都是常量字符串,而这个指针数组中每个元素就是一个字符指针指向zero和one这两个常量字符串,,那当然无法对其进行赋值操作,如果你想创建变量字符串你可以用如下代码:#include\u0026lt;stdio.h\u0026gt;int main(){\tchar s = { "zero" ,"one"};\ts = \u0026#39;a\u0026#39;;\tprintf("%c\", s);\tprintf("%s\", s);}


    推荐阅读