✏️ 纠错
第 246 题 / 共 301 题

第5题 下面这段代码不合法,因为每一行都必须显式初始化3个元素。

int arr[2][3] = {{1, 2}, {3}};

📝 题目解析

【考纲知识点】C++二维数组的初始化规则

【正确答案】×

【题目解析】

二维数组的初始化规则:

C++允许部分初始化二维数组,未显式初始化的元素将被自动初始化为0。

对于int arr[2][3],每一行可显式提供少于3个的初始值,剩余元素补0。

代码分析:

int arr[2][3] = {{1, 2}, {3}}; 等价于:

arr[0][0] = 1;  // 显式初始化
arr[0][1] = 2;  // 显式初始化
arr[0][2] = 0;  // 自动补0
arr[1][0] = 3;  // 显式初始化
arr[1][1] = 0;  // 自动补0
arr[1][2] = 0;  // 自动补0

结论:代码合法,题目描述错误,答案为×。