有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的三个连续节点。 struct node {int data;struct node*next;}*P,*q,*r; 现要将q所指节点从链表中删除,同时要保持链表的连续,

admin2011-06-13  33

问题 有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的三个连续节点。    struct node    {int data;struct node*next;}*P,*q,*r;    现要将q所指节点从链表中删除,同时要保持链表的连续,   

以下不能完成指定操作的语句是(       )。

选项 A、p->next=q->next;
B、p->next=P->next->next;
C、p->next=r;
D、p=q->next;

答案D

解析 本题的考点是链表的指针操作。要想将q所指节点从链表中删除,同时要保持链表的连续,从图上看,应该将p->next=r,由于q->next、p->next->next都指向r,因此p->next=q->next、p->next=p->next->next同样可以实现指定的操作。因此选项A、B、C都能完成指定操作。而选项D“p=q->next”只是将指针p指向了r,不能完成指定的操作。因此正确选项是D。
转载请注明原文地址:https://kaotiyun.com/show/JVPp777K
0

最新回复(0)