GESP 四级 · GESP 202306 C++ 四级 第 22 题

判断题 · 答案 B

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

题目

如果希望记录 10 个最长为 99 字节的字符串,可以将字符串数组定义为 char s[100][10];。

答案:B

解题思维

这道题考二维数组存字符串时,每行长度必须包含结束符''。看到'最长99字节’先想:99个字符+1个结束符=100字节,所以每行要开100,10个字符串只需10行,题目把行列写反了。

常见错误

考生常把'最长99字节’直接当成数组长度填99,忘了''占位;或看到100就以为要开100行,没分清行数是字符串个数。还有人把char s[100][10]理解成'100个字符串每个10字节’,完全颠倒了行列含义。

详细解析(节选)

1. 考点与概念

本题考查二维数组存储字符串的容量计算。C语言字符串以''结尾,这个结束符必须占用一个字符位置。因此,要存储一个长度为L的字符串,数组每行长度至少为L+1。

2. 命题视角

命题人喜欢用'最长N字节'这种表述,诱导考生直接填N,而忽略结束符。同时,二维数组的行列顺序是易错点:第一维通常表示字符串个数,第二维表示每个字符串的最大长度。题目给出'10个最长为99字节的字符串’,却写成char s[100][10],明显把行列颠倒了。

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