| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 553 人关注过本帖
标题:链表问题。删除第一个链表变成了第一个链表中的成员被删除了。但要删除的在 ...
取消只看楼主 加入收藏
来个者
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-8-9
收藏
 问题点数:0 回复次数:0 
链表问题。删除第一个链表变成了第一个链表中的成员被删除了。但要删除的在第二个节点能正常删除
链表问题。删除第一个链表变成了第一个链表中的成员被删除了。但要删除的在第二个节点能正常删除
链表问题。删除第一个链表变成了第一个链表中的成员被删除了。但要删除的在第二个节点能正常删除
我现在要删除成员名为QQ的链表。。如果我一开始就先输入QQ成员名的信息。。就只删除age的信息。。并不把第一个链表删除了。。但是如果我第二个开始输入QQ。他就能删除正常。。
望高手帮忙看一下。。但告诉我问题出在那里。在线等。我已经标出红字部分



#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

struct PERSON
{
    int age;
    float weight;
    char name[25];
};

typedef struct node
{
    struct PERSON data;
    struct node *next;
}NODE;



NODE *create(int n)
{
    NODE *pnew,*pcur;
    NODE *head=NULL;   

    int num=0;
    if(n<1)return head;
    while(num<n)
    {
        struct PERSON one;

        printf("NO: %d/%d\n",num+1,n);
        printf("Input Name ,age and weight:");
        scanf("%s%d%f",one.name,&(one.age),&(one.weight));
        pnew=(NODE *)malloc(sizeof(NODE));
        pnew->data=one;
        if(head==NULL)
            head=pnew;

        else
            pcur->next=pnew;
        
            pcur=pnew;
            num++;        

    }
    pcur->next=NULL;
    return head;
}


void outlist(NODE *head)
{
    NODE *pcur=head;
    while(pcur!=NULL)
    {
        printf("\n%5s%5d%10.2f\n",(pcur->data).name,(pcur->data).age,(pcur->data).weight);
        pcur=pcur->next;
            
    }
    printf("\n");
}

void del(NODE **head,char *name)
{
    NODE *p,*a;
    a=p=head;
    if(p==NULL)return;
   
    if(strcmp((p->data).name,name)==0)
    {   
        
        *head=p->next;
        free(p);
        
        
    }
    else
    {
        while((p->next)!=NULL&&(strcmp((p->data).name,name)))
        {
            a=p;
            p=p->next;
        }
        if(strcmp((p->data).name,name)==0)
        {
            a->next=p->next;
            free(p);
            
        }
    }
   
   
}
搜索更多相关主题的帖子: 链表 节点 成员 删除 
2010-06-05 16:25
快速回复:链表问题。删除第一个链表变成了第一个链表中的成员被删除了。但要删除 ...
数据加载中...
 
   



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

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