C语言高手请进

[复制链接]
查看11 | 回复2 | 2010-8-8 18:12:33 | 显示全部楼层 |阅读模式
for(head;head->next!=tail;head=head->next)

head->next=NULL;为什么在编译的时候说是无效的操作啊,这里head,tail分别是同个链表的头尾指针,现在我要将tail变头指针,倒数第二个作为尾指针,如何实现啊,大神们救命!
就是改变尾指针为头指针,其他顺序不变

回复

使用道具 举报

千问 | 2010-8-8 18:12:33 | 显示全部楼层
我觉得你这样是不能实现的,先说说你这个for(;head->next!=tail;head=head->next)
head->next=NULL;head又不做什么操作 可以去掉,你这个循环开始就将head->next=NULL,再让head=head->next,永远都是空啊,那它永远也不会等tail~~死循环了我做了个例子,你看看能实现不~~ 再联系我~p,q//定义一个pp=head;//记录head tailq=tail;while(p->next!=tail)//到倒数第二个时停止{p=p->next;}p->next=NULL;//指向空,现在p(倒数第二个)就是尾
回复

使用道具 举报

千问 | 2010-8-8 18:12:33 | 显示全部楼层
for(head;head->next!=tail;head=head->next)
head->next=NULL;先做head->next=NULL;再head=head->next 注意 head->next 都指向NULL head=NULL阿for(head;head->next!=tail;head=p->n
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行