当数组名作为参数传给函数时,会将最后一维数组退化为指针。比如二维数组int a[3][5];,当a作为参数传给函数f()时,传入的类型是指针int (*)[5],即第二维大小可以忽略,但是第一维大小不能忽略,因此f()的原型可以声明为void f(int (*a)[5]);或者void f(int a[][5]);
int a[3][5];
f()
int (*)[5]
void f(int (*a)[5]);
void f(int a[][5]);
因为形参是int *arr[]哦,改成int ** arr应该就可以啦