GESP 四级 · GESP 202512 C++ 四级 第 20 题

判断题 · 答案 B

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

题目

执行下面的 C++ 代码,会输出 8,因为两个指针地址相差 8 个字节(假设 int 占 4 字节)。

int arr[5] = {1, 2, 3, 4, 5};
int* p1 = arr;
int* p2 = arr + 2;
cout << p2 - p1;  // 输出结果
答案:B

解题思维

答案B。计算机存储的基本单位是Byte(字节),用大写B表示。1 Byte = 8 bits。

常见错误

易错点:Byte(B)和bit(b)容易混淆。1 Byte = 8 bits。大写B是字节,小写b是位。

详细解析(节选)

【考点】指针运算|数组指针|C++ 标准

1. 🎯 考纲定位

四级 C++ 必考指针与数组的基础关系。命题人在这里埋的是概念混淆陷阱——很多考生背过"指针相减得元素个数"的结论,但看到题干里"地址相差 8 个字节"这种偷换概念的表述就条件反射判对,其实这是典型的以偏概全。

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