| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 456 人关注过本帖
标题:链表删除问题,只能删除第一个成员,是什么问题???
取消只看楼主 加入收藏
jxb8888
Rank: 2
等 级:论坛游民
帖 子:21
专家分:32
注 册:2015-4-28
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:0 
链表删除问题,只能删除第一个成员,是什么问题???
/*声明链表结构,并有指向下一个结构的指针*/
struct List   
    {
    char Name[TSIZE];
    char Model[TSIZE];
    float Width;
    float yaxiandepth ;
    struct List *next; /*指向下一个结构的指针*/
    };

struct List *head = NULL ;    /*声明一个指向链表的头部指针*/
   
struct List *prev , *current ;    /*声明前指针,当前指针*/

void list_delete()
{
    char key[TSIZE];
    printf("\n\t删除型号: ");   
    scanf("%s",key);
   
    int r;
   
    struct List *ptmp ;    //声明一个链表节点临时针指
   
    current=head;
    while(current!=NULL)
        {                 
            r=strcmp(current->Model,key);
            if(!r)
            {
                    ptmp = current->next ;        //保存当前的下一个地址
                    free(current);                //释放当前指针                    
                    current=ptmp ;                //把下一个地址赋值给当前指针                                 
                    printf("\n\t已删除%s...\n\n",key);
            }        
        current=current->next ;        
        }            
}
搜索更多相关主题的帖子: current 型号 
2015-07-05 11:02
快速回复:链表删除问题,只能删除第一个成员,是什么问题???
数据加载中...
 
   



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

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