GESP 三级 · GESP 202509 C++ 三级 第 20 题

判断题 · 答案 B

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

题目

对于 enum Color { RED, GREEN, BLUE };,RED 的类型是 int。

答案:B

解题思维

答案B。double占8字节,int占4字节,float占4字节,char占1字节,bool占1字节。类型的占用空间在编译时确定。

常见错误

double占8字节是固定不变的。数组占用空间=元素个数×sizeof(元素类型)。

详细解析(节选)

【考点】枚举定义|类型表示

枚举类型定义一个独立的类型,enum Color { RED, GREEN, BLUE }; 中 RED 的声明类型是 Color。枚举常量的底层确实用 int 存储,但类型系统里它不是 int。

命题人把"底层存储类型"偷换成"声明类型",这是典型的概念混淆陷阱。如果你只记得"enum 值从 0 开始"就选 A,说明你没区分"值的类型"和"存储的整数类型"。

如果改成"RED 的值是 0",答案就变成"正确"了。这提醒我们:类型是编译期属性,不能和运行时代表的整数混为一谈。

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