关于一个C语言链表问题。如图。(最好能用图或者其他分别帮我解释四个选项)
1个回答
展开全部
链表的末尾结点中的next必须为\0结束,因此,
A.一看就是要选的,不能构成链表。p = p->next,p变为指向F;s->next = p,G指向F;p->next=s,F结点指向G节点。最后结果是F和G互相指向,明显不是单向链表;
B.p = p->next,p变为指向F;s->next = p ->next,s->next 中的内容变为\0,即G结点成为末尾结点; p->next=s,F结点指向G节点,最后结果G结点在末尾构成单向链表;
C. 同理,B和C不同是前两个语句先后顺序交换,s->next = p ->next,s->next 中的内容变为\0和s->next = NULL一样效果,所以最后结果G结点在末尾构成单向链表;
D. (*p). 与p->是一样的,所以B和D其实是相同的,只是换了个语法表示。最后结果G结点在末尾构成单向链表;
答案是A,不能将s所指的结点插入到链表末尾构成单向链表。
A.一看就是要选的,不能构成链表。p = p->next,p变为指向F;s->next = p,G指向F;p->next=s,F结点指向G节点。最后结果是F和G互相指向,明显不是单向链表;
B.p = p->next,p变为指向F;s->next = p ->next,s->next 中的内容变为\0,即G结点成为末尾结点; p->next=s,F结点指向G节点,最后结果G结点在末尾构成单向链表;
C. 同理,B和C不同是前两个语句先后顺序交换,s->next = p ->next,s->next 中的内容变为\0和s->next = NULL一样效果,所以最后结果G结点在末尾构成单向链表;
D. (*p). 与p->是一样的,所以B和D其实是相同的,只是换了个语法表示。最后结果G结点在末尾构成单向链表;
答案是A,不能将s所指的结点插入到链表末尾构成单向链表。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询