单项选择题


现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中连续 的三个结点。

struct node

{ char data;

struct node *next;

}*p,*q,*r;



 现要将 q 和 r 所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操 作的语句是()。


A.q->next=r->next; p->next=r;r->next=q;
B.p->next=r; q->next=r->next;r->next=q;
C.q->next=r->next;r->next=q;p->next=r;
D.r->next=q;p->next=r;q->next=r->next;