char *p="hello";*p='k'; //编译能通过,但是运行到这里会出错
因为p指向的是一个字符串常量. 所以运行时发现要改常量区就会报错. 改成: char* p = (char*)malloc(6); strcpy(p,"hello"); *p='k'; .... free(p);
字符型指针为什么不能修改单个字符?
最新推荐文章于 2023-01-02 13:20:39 发布
char *p="hello";*p='k'; //编译能通过,但是运行到这里会出错
因为p指向的是一个字符串常量. 所以运行时发现要改常量区就会报错. 改成: char* p = (char*)malloc(6); strcpy(p,"hello"); *p='k'; .... free(p);