0x01361590 处未处理的异常: 0xC0000005: 写入位置 0x01367800 时发生访问冲突

jeasn168 2014-06-25 10:26:52
求助,在线等啊!!!!!!!!!!!!!
...全文
76 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
brookmill 2014-06-25
  • 打赏
  • 举报
回复
int main(void) { int i; char *p = "abc"; char str[] = "abc"; printf("%p, %p, %p, %p\n", "abc", p, str, &i); return 0; }
brookmill 2014-06-25
  • 打赏
  • 举报
回复
引用 8 楼 jeasn168 的回复:
能解释下char* 和char[]的区别吗?字符数组是不是会重新分配地址,然后将常量拷贝到新分配的内存?而字符指针就是直接将指针指向常量内存?
没错,就是这样
jeasn168 2014-06-25
  • 打赏
  • 举报
回复
引用 7 楼 brookmill 的回复:
[quote=引用 6 楼 jeasn168 的回复:] 是这种情况
那就改成char p[] = "abc",或者把调用Permutation的代码贴出来看看该怎么改。问题出在调用这个函数的地方[/quote] 嗯,确实,基础不牢,常量不能改变。能解释下char* 和char[]的区别吗?字符数组是不是会重新分配地址,然后将常量拷贝到新分配的内存?而字符指针就是直接将指针指向常量内存?
brookmill 2014-06-25
  • 打赏
  • 举报
回复
引用 6 楼 jeasn168 的回复:
是这种情况
那就改成char p[] = "abc",或者把调用Permutation的代码贴出来看看该怎么改。问题出在调用这个函数的地方
jeasn168 2014-06-25
  • 打赏
  • 举报
回复
引用 4 楼 brookmill 的回复:
pstr是不是常量字符串 ? 比如 char *p = "abc"; Permutation(p);
是这种情况
mujiok2003 2014-06-25
  • 打赏
  • 举报
回复
pstr是只读的吧? 比如

char *  p = "hello";
Permutation(p);
brookmill 2014-06-25
  • 打赏
  • 举报
回复
pstr是不是常量字符串 ? 比如 char *p = "abc"; Permutation(p);
赵4老师 2014-06-25
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
幻夢之葉 2014-06-25
  • 打赏
  • 举报
回复
引用 1 楼 jianwen0529 的回复:
注释掉cout那句试试?!
你打印下len的长度,跟你pstr原本的长度比较下。 是不是你pstr是个数组,没有‘\0"结束的?!
幻夢之葉 2014-06-25
  • 打赏
  • 举报
回复
注释掉cout那句试试?!

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧