该内存不能为written

#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;
}

 

posted @ 2013-08-03 18:48  ITtecman  阅读(232)  评论(0编辑  收藏  举报