现有以下结构体说明和变量定义,如图所示,指针 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;
请帮忙给出正确答案和分析,谢谢!