一个关于参数的传递问题,自己解决不了。。。请大家帮忙看看
程序中的红色代码,应该有参数传递的问题,但是自己也不知道在哪,输出的结果是些看不懂的东西,请大家看看# include<iostream>
using namespace std;
const N=3;
int A[N][N];
void print_matrix(int*q=NULL,int n=1)//把矩阵A打印到屏幕上
{
cout<<"A的"<<n<<"次方 ="<<endl;
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
cout.width (5);
cout.fill();
cout<<*(q+i*N+j)<<',';
}
cout<<endl;
}
}
void initia_matrix()
{
cout<<"请输入一个"<<N<<"*"<<N<<"的矩阵A,按行输入"<<endl;
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
cin>>A[i][j];
}
}
int* matrix_multip(int*p=NULL,int *q=NULL)//实现两个矩阵相乘
{
int C[N][N];
for(int i=0;i<N;i++)
for(int j=0;j<N;j++)
{
int sum=0;
for(int k=0;k<N;k++)
sum+=(*(p+i*N+k))*(*(q+k*N+j));
C[i][j]=sum;
cout<<C[i][j]<<',';
}
return &C[0][0];
}
int main()
{
int*q=NULL;
initia_matrix();
print_matrix(&A[0][0]);
q=matrix_multip(&A[0][0],&A[0][0]);
print_matrix(q,2);
return 0;
}