| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:[求助]链表看看错哪里了啊。
取消只看楼主 加入收藏
起点线
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-12-7
收藏
 问题点数:0 回复次数:1 
[求助]链表看看错哪里了啊。

一个输入函数,输出函数,删除函数。不知道错哪里了

#include <stdio.h>
#include <stdlib.h>
#define S struct worker
#define LEN sizeof(struct worker)
struct worker
{
int num;
char name[10];
int pay;
S *next;
};

/******删除函数******/

S *del(S *head,int n)
{
S *p,*q;
p=q=head;
while(n!=p->num&&p->next!=0)
{
q=p; p=p->next;
}
if(n==p->num)
{
if(p==head) head=p->next;
else q->next=p->next;
}
free(p);
return head;
}

/******输入******/

S *input(void)
{
S *p,*q,*head;
p=q=head=(S*)malloc(LEN);
scanf("%d",&p->num);
getch();
scanf("%s",p->name);
getch();
scanf("%d",&p->pay);
while(1)
{
p=(S*)malloc(LEN);
scanf("%d",&p->num);
if(p->num==0) break;
getch();
scanf("%s",p->name);
getch();
scanf("%d",&p->pay);
q=p;
q->next=p;
}
return head;
}

/******输出******/

void out(S *p)
{
while(p!=0)
{
printf("%d %s %d\n",p->num,p->name,p->pay);
p=p->next;
}
}

/******主函数******/

main()
{
int n;
S *head;
head=input();
out(head);
printf("input n ");
scanf("%d",&n);
head=del(head,n);
out(head);
}

搜索更多相关主题的帖子: 链表 
2007-05-13 21:19
起点线
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-12-7
收藏
得分:0 
感谢2楼..  3楼的试了不行哦  我用的是TC2.0

2007-05-14 20:06
快速回复:[求助]链表看看错哪里了啊。
数据加载中...
 
   



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

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