双向链表中每个结点有两个指针域prev和next,分别指向该结点的前驱及后继结点。设p指向链表中的一个结点,它的前驱结点和后继结点均非空。要删除结点p,则下述语句中错误的是( )。
p->next->prev = p->next;
p->prev->next = p->prev;
delete p;
p->prev->next = p->next;
p->next->prev = p->prev;
delete p;
p->next->prev = p->prev;
p->next->prev->next = p->next;
delete p;
p->prev->next = p->next;
p->prev->next->prev = p->prev;
delete p;