c语言程序运行出现b.exe已停止工作是为什么

c语言程序运行出现b.exe已停止工作是为什么,第1张

访问了不可访问的内存多数是这些情况:

1、野指针,你使用的指针指向未知区域

2、scanf函数输入整形、字符……的时候缺少了&

3、缓冲区溢出,也就是说你使用数组时不经意间越界了

暂时就想到了这三种常见情况

void TraverseList (DuLinkList &L) {

     DuLinkList p=new DuNode()

p=L->next

while(p!=L){

printf ("  ",p->data)

p=p->next}

}

这个你就是要遍历嘛,不需要new一个节点出来啊,何况你new了之后又不用:正确的应该是:

void TraverseList (DuLinkList &L) 

{

if(!L)//空,就直接返回

return

    DuLinkList p=L->next

while(p!=L)

{

printf ("  ",p->data)

p=p->next

}

}

另外,你main函数里面:

DuLinkList myl

定义个指针又不初始化,好歹要赋个空指针吧:

DuLinkList myl = NULL

所以,代码的问题在于,一个未赋初值的指针myl,你一进TraverseList 就想获取他的next指针:p=L->next自然会报错了。

那就是你的GetAnnexbNALU函数发出来的异常,设个断点进去看看为什么报错了?是不是读写的长度有问题?

不行的话,看看能否把别的 *** 作屏蔽掉,就只运行有问题的地方,以测试是不是真的有问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11481695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存