| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 579 人关注过本帖
标题:请大家帮忙看看这个函数错在哪里
取消只看楼主 加入收藏
wuzi2010ED
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-6-6
结帖率:100%
收藏
 问题点数:0 回复次数:1 
请大家帮忙看看这个函数错在哪里
/*函数功能: 从head指向的链表中删除节点数据大于100的节点
  函数参数: 结构体指针变量head,表示原有链表头结点指针
  返回参数: 删除节点后的头结点指针
*/

struct Link *DeleteNode(struct Link *head)
{
    struct Link *p = head, *pr = head;

    if (head == NULL)
    {
        printf("No Link Table!");
        return head;
    }

    while (pr != NULL)
    {
        while (p->data <= 100)
        {
            pr = p;
            p = p->next;
        }
        if (p == head)
        {
            head = p->next;
        }
        else
        {
            pr->next = p->next;
        }
    }
   
    free (p);
    return head;
}
搜索更多相关主题的帖子: head return 结构体 
2012-06-06 11:34
wuzi2010ED
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-6-6
收藏
得分:0 
回复 5楼 missu_1314
谢谢!我有一个疑问,为什么要把head改成pHead->next?if语句中的条件NULL==head和NULL==pHead->next有什么区别?是不是这两者相差了一个节点?
2012-06-06 14:46
快速回复:请大家帮忙看看这个函数错在哪里
数据加载中...
 
   



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

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