下面 C++ 代码在一个结构体中又定义了别的结构体。这种结构体嵌套定义的方式语法不正确。
#include <string>
#include <vector>
using namespace std;
struct Library {
struct Book {
struct Author {
string name;
int birthYear;
};
string title;
int year;
Author author;
};
string name;
vector<Book> books;
};答案B。C++中字符串处理可以用字符数组或string类型。sizeof和strlen的结果不同。
仔细审题,注意限定词和否定词。用排除法缩小选项范围。
【考点】C++ 语法基础|结构体嵌套定义|代码编译规则
GESP C++ 四级《程序设计与基础算法》模块第 3 章"结构化数据"基础考点。命题人专门挑这条嵌套链——因为四级考生对 struct 有基本概念,但遇到三层嵌套时容易"凭直觉断言错误"。这道题卡住的是"语法直觉"与"语言规则"的冲突:学生习惯看到长代码就挑刺,却没意识到 C++ 允许任意深度嵌套定义。