GESP 八级 · GESP 202406 C++ 八级 第 8 题

选择题 · 答案 B · 考点:函数

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

题目

以下函数声明,哪个是符合 C++ 语法的?( )。

答案:B

考点

函数

解题思维

STL 容器:vector(动态数组)、set/map(红黑树,有序)、unordered_set/map(哈希表,无序)。注意迭代器失效问题。

常见错误

审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。

详细解析(节选)

【考点】函数参数传递|多维数组声明|C++语法规范

解析: 1. 考纲定位:本题考查GESP八级C++核心语法,命题人卡住的是"函数形参中多维数组必须声明除首维外所有维度长度"这一易错点。多数考生会误以为数组参数可以像普通变量一样省略维度。 2. 解题思维:看到函数形参中的数组类型,立刻判断首维可省略(编译器只关心内存起始位置),后续维度必须给出具体长度(用于指针偏移计算)。选项B中a[][20]符合规则,其他选项要么首维也省略(A/D),要么次维省略(C),均非法。 3. 陷阱拆解:A的a[][]试图完全省略维度,C的a[10][]省略次维都是典型语法陷阱;D的[,]是VB/C#风格,属于跨语言混淆。若只背"二维数组形参要写两个维度"而不理解首维可省略的本质,就会误选C。 4. 反命题思维:若把本题改成"哪个能正确声明一个3×4的二维数组",答案仍是B类形式。刷到类似题时先问"首维是否必须写?次维能否省略?",就能避开所有变体。

同考点真题

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