#include<stdio.h>
#include<stdlib.h>
#define M 3
#define N 3
void main()
{
void add(int **a,int **b,int **c,int rows,int cols);
int i,j;
int a[M][N],b[M][N],c[M][N];
int *p1[M],*p2[M],*p3[M];
int **s1,**s2,**s3;
printf("input matrix a:\n");
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
printf("input matrix b:\n");
for(j=0;j<M;i++)
for(j=0;j<N;j++)
scanf("%d",&b[i][j]);
for(i=0;i<M;i++)
{
p1[i]=a[i];
p2[i]=b[i];
p3[i]=c[i];
}
s1=p1;
s2=p2;
s3=p3;
add(s1,s2,s3,M,N);
for(i=0;i<M;i++)
for(j=0;j<N;j++)
printf("%3d",c[i][j]);
system("pause");
}
void add(int **a,int **b,int **c,int rows,int cols)
{
int i,j;
for(i=0;i<rows;i++)
for(j=0;j<cols;j++)
*(*(c+i)+j)=*(*(b+i)+j)+*(*(a+i)+j);
}
想求两个矩阵的和,编译能通过,但不能得到正确结果。