下面代码将二维数组 arr 传递给函数 f,函数内部用 arr[i][j] 访问元素,函数参数声明为 int arr[][4] 是错误的。
void f(int arr[][4], int rows) {
// 访问 arr[i][j]
}
int main() {
int arr[3][4] = { /* 初始化 */ };
f(arr, 3);
}答案B。一个C++程序有且只能有一个main函数,它是程序的入口点。程序从main函数开始执行。
一个C++程序只能有一个main函数。main函数是程序入口,不能重载。
【考点】数组传参机制|二维数组退化|参数声明规则
本题考查 C++ 中多维数组作为函数参数的声明规则,属于《C++ 语法规范》数组章节的核心考点。命题人卡住的是考生对"数组退化"机制的模糊理解——以为必须写全维度才能传递,其实只缺第一维即可。很多 GESP 四级考生在这里栽跟头,以为参数必须和实参完全一致,这是典型的过度联想。