定义 int arr[5] = {1,2,3}; ,则 arr[3] 的值为 0, arr[5] 是合法下标。
A:正确
B:错误
正确答案:错误
答案解析
定义 int arr[5] = {1,2,3}; 时,数组 arr 被显式初始化前三个元素为 1、2、3,剩余未初始化的元素由编译器自动补全为 0,因此 arr[3] 的值由零初始化机制确定。数组下标从 0 开始,arr 拥有 5 个元素,合法下标范围是 0 到 4,访问 arr[5] 超出该范围,不符合数组内存布局的边界规则。
试卷来源:202603 CCF-GESP编程能力等级认证C++三级真题