设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。
- A.q=p->next;p->data=q->data;p->next=q->next;free(q);
- B.q=p->next;p->data=q->data;free(q);
- C.q=p->next;p->next=q->next;free(q);
- D.q=p->next;q->data=p->data;p->next=q->next;free(q);
正确答案及解析
正确答案
A
解析
应先使指针q指向结点A之后的结点,以防链表断裂,然后删除结点q,最后将删除的结点q的存储空间释放。