| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1356 人关注过本帖
标题:双向循环链表结点删除不了
只看楼主 加入收藏
朔源
Rank: 1
等 级:新手上路
帖 子:105
专家分:4
注 册:2015-9-22
结帖率:90%
收藏
已结贴  问题点数:10 回复次数:3 
双向循环链表结点删除不了

函数是:删除双向循环链表结点。程序运行到 》》》》》 printf("程序到这卡住啦!!!!\n"); 这句时就运行不下去了。请各位前辈帮忙看看。那里错了。


list * delnode(list * head,int m)//删除双向循环链表结点。如有结点数据和m相同,则删除结点。
{
    list *p1,*p2;
    p2 = head;
    p1 = head->next;
    printf("程序到这卡住啦,下面的程序好像不运行下去了!!!!\n");《《《《《《《《《《《《《《
    while(p1 != head && p1->num != m );
    {
        p2 = p1;
        printf("程序!!!!\n");
        p1 = p1->next;
    }
    if(p1->num == m)
    {
        p2->next = p1->next;
        p1->next->prior = p2;
        free(p1);
        p1 = p2->next;
    }
    return(head);
}
2015-12-29 22:02
朔源
Rank: 1
等 级:新手上路
帖 子:105
专家分:4
注 册:2015-9-22
收藏
得分:0 
看了很多遍,我想应该是while语句出错了。但不知道为什么错了。也不知道怎么改。求帮组。。。
2015-12-29 22:55
newdos
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:6
帖 子:251
专家分:1169
注 册:2012-8-13
收藏
得分:10 
while(p1 != head && p1->num != m );  这里最后多了一个分号,低级错误
2015-12-29 23:24
朔源
Rank: 1
等 级:新手上路
帖 子:105
专家分:4
注 册:2015-9-22
收藏
得分:0 
回复 3楼 newdos
十分感谢!
2015-12-30 15:15
快速回复:双向循环链表结点删除不了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016772 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved