首页 新闻 会员 周边

C字符指针问题

0
[待解决问题]
1 char *pstr = "HAC";
2 pstr[0] = pstr[1];//error

问题:为何第二行操作,会出现段错误?

printf("%p\n",pstr);

cxtx00的主页 cxtx00 | 菜鸟二级 | 园豆:206
提问于:2016-12-10 21:59
< >
分享
所有回答(3)
0

因为一个指向系统常量区("HAC"的存放位置)的指针是只读的,可以用一个数组去存HAC

jello chen | 园豆:7306 (大侠五级) | 2016-12-10 23:53
0

因为它指向的字符串是常量....

你把他指向数组.再给数组赋值.再写你这代码就没问题了

吴瑞祥 | 园豆:29449 (高人七级) | 2016-12-11 19:02
0

因为 pstr 是字符串常量

悦光阴 | 园豆:2251 (老鸟四级) | 2016-12-12 13:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册