BENULL 2016-07-01 12:50 采纳率: 50%
浏览 2357
已采纳

xC0000005: 读取位置 0xfeeefef6 时发生访问冲突

在dev c++上可以正常运行,到了vs2010就报错,怀疑是链表中内存分配出了问题但是找不到,求助
#include
using namespace std;
typedef struct people
{
int num;
int data;
struct people* next;
}people,*Linklist;
void InitList (Linklist &L)
{
L=new people;
L->next=L;
}
int creat(Linklist &L)
{ int data,num=1;
Linklist r=L,p=L;
cout<<"请依次输入密码(输入-1结束):"< cin>>data;
while(data!=-1)
{
p->num=num++;
p->data=data;
p->next=L;
r->next=p;
r=p;
p=new people;
cin>>data;

}
return num-1;
}
Linklist _delete(Linklist &L,int num)
{
Linklist p=L,q=L,Q=L;
int data;
while(p->num!=num)
{
q=p;
p=p->next;
}

if(p->num==num&&p==L)
{
while(Q->next!=L)
Q=Q->next;
Q->next=p->next;
delete p;
}
else
{
q->next=p->next;
delete p;
}
return q->next;
}
int main()
{
int start,i,j=0,len;
Linklist L,p;
InitList(L);
len=creat(L);
cout<<"请输入开始数:";
cin>>start;
p=L;
for(j=0;j {
for(int i=0;i {
p=p->next;
}
start=p->data;
cout<num<<" ";
p=_delete(L,p->num);

}

return 0;
}

  • 写回答

3条回答 默认 最新

  • 小灸舞 2016-07-02 00:43
    关注

    代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
    提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
    单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记