该内存不能为written

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

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

正确的程序应该是:

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

 

你可能感兴趣的:(该内存不能为written)