GESP 五级 · GESP 202503 C++ 五级 第 2 题

选择题 · 答案 A · 考点:链表

← 整套速查表 GESP 五级 全部真题

题目

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

A.

p->next->prev = p->next;
p->prev->next = p->prev;
delete p;

B.

p->prev->next = p->next;
p->next->prev = p->prev;
delete p;

C.

p->next->prev = p->prev;
p->next->prev->next = p->next;
delete p;

D.

p->prev->next = p->next;
p->prev->next->prev = p->prev;
delete p;
答案:A

考点

链表 讲解 →链表 真题汇总 →

解题思维

函数指针:bool (*Fx)(int) 声明一个指向"接收int返回bool"的函数的指针,可作为参数传递给其他函数(回调机制)。

常见错误

函数指针和普通指针不同,函数指针指向的是代码段中的函数入口地址。声明格式:返回类型 (*指针名)(参数列表)。

详细解析(节选)

【考点】双向链表指针链接|内存释放顺序

1. 🎯 考纲定位

GESP五级「链表操作」模块核心考点。命题人卡住的是指针更新与delete的先后顺序——五级考生最容易在删节点时把指针改完再delete,却忘了delete后p的指针域已失效。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断