动态内存分配得指针
void multMat(double* l,double* r,int a,int b,int c){//l是一个2维数组(a行b列),r是一个2维数组(b行c列)
double* res=new double(a*c*sizeof(double));//相乘后的矩阵指针
double x=0;
for(int i=0;i<a;i++)
for(int j=0;j<c;j++){
*(res+c*i+j)=0;
for(int k=0;k<b;k++){
*(res+c*i+j)+=(*(l+i*b+k))*(*(r+c*k+j));//此句有问题,如果是(4,2)*(2,4)没问题,如果(4,3)*(3,4)就有问题了,比较奇怪
cout<<(*(l+i*b+k))*(*(r+c*k+j));
cout<<endl;
cout<<"c move "<<c*i+j<<endl;
cout<<"l move "<<i*b+k<<endl;
cout<<"r move "<<c*k+j<<endl;
cout<<endl;
}
cout<<"i="<<i<<"j="<<j<<" "<<*(res+c*i+j)<<endl;
}
}
帮忙看看这是为什么?问题写成注释了。多谢!!!