我想打印一个3*4的矩阵A和一个4*3的矩阵B,矩阵A,B内的元素都是从键盘上输入的,我先构造函数
再在主函数内调用
Display(A,3,4);
Display(B,4,3);
发现只能打印矩阵A,那么是否存在一个能够编写出的函数,既能够打印矩阵A有能够打印矩阵B?
因为你这里形参arr[4][4] 与B不符合。二维数组形参标准是arr[][4] 即它只认第二维度。
它的第一维度是根据你的实参而改变的,所以A可输出。
但B的第二维度不是4,所以是不能传进来的。
const int row=3;
const int col=4;
void Display(int arrA[][col],int arrB[][row])
{
for(int r=0;r!=row;r++)
{
for(int c=0;c!=col;r++)
{
printf("%-2d ",arrA[r][c]);
}
printf("\n");
}
printf("\n");
for(int r=0;r!=col;r++)
{
for(int c=0;c!=row;r++)
{
printf("%-2d ",arrB[r][c]);
}
printf("\n");
}
printf("\n");
}
//Display(A,B,row,col);