肯定是参数不符,a[10][10]与b[3][4]是不同的数据,考虑一下前面两个数组,a[2][2]和b[2][2]在各自数组中的位置是否一样,肯定不同,函数调用与函数定义参数应一致,所以只能使用同型数组。
int a[3][4],b[4][3];
void input(int m,int n,int a[10][10])//输入矩阵
void output(int m,int n,int a[10][10]) //输出矩阵
input(3,4,a);
output(3,4,a);
input(4,3,b);
output(4,3,b);
类型定义和你传的实际不相符,不是编译没有错误,如果你把报警级别调到最高肯定会出警告或报错的。
建议你这时用是统一用大一点的数组,比如你说的定义为int a[10][10],b[10][10];
比较好的办法是用指针,二维指针,如果你指针不大会用,那还是定义大点的数组把,确实是这个问题的一个解决办法。