当前位置:系统粉 > 电脑问答 > 其他问答 > 为什么链表中的第一个数据无法删除?

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

提问者:天使的狸猫微笑  |  浏览 次  |  提问时间: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

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

天齐圣胜森

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

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

baifern丶恔娜

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

2017-01-13 23:41:43
还要改成del(worker_head,number);我这里可以

(1)

赞 11
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航