首页 > 技术文章 > 该内存不能为written

nufangrensheng 2013-08-03 18:48 原文

#include <stdio.h>
int main()
{
 char *p = "abc";
 printf("%s\n", p);
 *p = 'd';
 printf("%s\n", p);
 return 0;
}

编译、连接都通过,但是运行出现“该内存不能为‘written’”的应用程序错误;

正确的程序应该是:

#include <stdio.h>
int main()
{
 char p[] = "abc";
 printf("%s\n", p);
 *p = 'd';
 printf("%s\n", p);
 return 0;
}

 

推荐阅读