二位数组,为什么得不到想要的结果
#include<iostream>using namespace std;
const int M=4;
const int N=3;
const int P=2;
int printa(int [][],int,int);
int printb(int [][],int,int);
void calculate(int[][],int[][],int[][],int,int,int);
int main(){
int c[M][P];
int a[M][N]={{1,2,3},{4,5,6},{7,8,9},{1,1,1}};
printa(a[][],M,N);
int b[N][P]={{1,2},{4,5},{7,8}};
printb(b[][],N,P);
calculate(a[][],b[][],c[][],m,n,p);
for(i=0;i<M;i++){
for(j=0;j<P;j++)
cout<<c[i][j];
cout<<endl;
}
return 0;
}
void printa(int a[][],int m,int n){
for(int i=0;i<m;i++){
for(int j=0;j<n;j++)
cout<<c[i][j];
cout<<endl;
}
}
void printb(int b[][],int n,int p){
for(int i=0;i<n;i++){
for(int j=0;j<p;j++)
cout<<c[i][j];
cout<<endl;
}
}
void calculate(int a[][],int b[][],int c[][],int m,int n,int p){
for(int i=0;i<m;i++){
for(int j=0;j<p;j++)
for(int k=0;k<n;k++)
int c[i][j]=0;
c[i][j]+=a[i][k]+b[k][n];
}
}