单项选择题

有以下结构说明和变量定义,指针p、q、r分别指向链表中的3个连续结点。
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;