黑马程序员技术交流社区
标题:
C语言修改代码片段(或者只读代码)
[打印本页]
作者:
socl_ycl
时间:
2015-9-16 14:26
标题:
C语言修改代码片段(或者只读代码)
请看如下代码:
#include<stdio.h>
int main(void) {
char *ptr = "Linux";
*ptr = 'Windows';
printf("\n [%s] \n", ptr);
return 0;
}
复制代码
这做法会引发什么结果,你想过吗。。。。
让我来告诉你吧:
通过*ptr = ‘Windows’,会改变内存中代码段(只读代码)“Linux”的第一个字母。
这个操作是无效的,因此会造成seg-fault或者崩溃。
奔溃。。。多惨啊
莫名的奔溃很多童鞋第一时间想的就是自己的编辑器出问题了。。。
一直重启编辑器,然并卵。。。
一直网上查找编辑器奔溃的问题,然并卵。。。
所以啊,如果以后你编写代码的时候出现如下图片,那么你不用着急。
肯定是代码中有修改代码片段部分了,只要修正就没问题了。
bk.png
(10.42 KB, 下载次数: 4)
下载附件
2015-9-16 14:26 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2