系统粉 > 电脑问答 > 其他问答

已解决为什么链表中的第一个数据无法删除?

提问者:天使的狸猫微笑  |  浏览次  |  提问时间:2017-01-13  |  回答数量:4

为什么链表中的第一个数据无法删除? 老师留个作业,做一个职工信息的链表,能执行插入,删除,浏览,查找等工作。要求用C语言的知识,我写了一个,在Vc环境下用C写的。程序能运行,所用功能均能完成,只是删除工作不完善。。执行删除工作时候,除了链表中的第一个数据都能删除,就删不了第一个,仔细检查删除函数没有错误,不知怎么回事了。请大家帮忙改改#include<stdio.h>#include<malloc.h>#define NULL 0#define LEN sizeof(struct worker)struct worker{long num; char name[20]; long birthday; char education[20]; char post[20]; float wage; long telephone; char address[20]; struct worker *next;};int n; void input(struct worker *worker) { printf( \"请输入员工信息:\\n\" ); printf( \"工号 姓名 生日 学历 职位 工资

已有4条答案
nf宇航

nf宇航

回答数:163  |  被采纳数:99

删除函数没问题啊,到底是怎么一回事呢?
2017-01-13 12:19:18
赞 16
躲躲躲躲躲藏

躲躲躲躲躲藏

回答数:3  |  被采纳数:106

把参数里的struct worker *worker_head改成struct worker *&worker_head ,而且我看你也没有用free删除
2017-01-13 13:41:29
赞 0
天齐圣胜森

天齐圣胜森

回答数:61  |  被采纳数:117

哦,我看看,在VC中 struct worker*wokre_head和struct worker *&worker_head能通用,我改成后者,而且用free了,怎么还不行?还是能删除其他任何的节点,就是第一个不行
2017-01-13 17:07:46
赞 6
baifern丶恔娜

baifern丶恔娜

回答数:111  |  被采纳数:96

还要改成del(worker_head,number);我这里可以

(1)

2017-01-13 23:41:43
赞 11
相关问答
最新其他问答
解决方法