初学者求问。C语言字符指针有关问题

菜鸟求问。C语言字符指针问题
char *S="abcdef"; //1
        S[2]='\0';  //  2 
2语句弹框报错了。。。怎么把S字符串里的第二个位置换成'\0'  ?
------解决方案--------------------
char *S="abcdef"; //1
这个语句里的字符串“abcdef“是字符串常量,存放在静态区,不能被 S[2]='\0'; 这样的语句修改其中的值。*S只是个指针而已,并不分配内存空间,对它所指向的字符串常量无法加以修改。