1、问题:在用C++中的二维数组实现矩阵乘法的过程中,Dev C++出现的报错信息看不懂。但是百度了一下相关的代码,暂时没看出什么思路上有什么不同。还求大佬们给些提示。PS:正在下载VS2017 Community,看看是不是IDE的问题。
2、具体代码如下:
include<iostream>
using namespace std;
int main(){
int m, n ,p, q;
int a[m][n];
int b[p][q];
cin>>m>>n;
for(int i = 0 ; i < m ; ++i)
for(int j = 0 ; j < n ; ++j)
cin>>a[i][j];
cin>>p>>q;
for( int i = 0 ; i < p ; ++i)
for(int j = 0 ; j < q ; ++j )
cin>>b[p][q];
int c[m][q];//c[m][q] = a[m][n] * b[p][q]
for( int i = 0 ; i < p ; ++i)
for (int j = 0 ; j < q ; ++j)
c[i][j] = 0;
for(int s = 0 ; s < n ; ++s)
c[i][j] += a[i][s] * b[s][j];
for( int i = 0 ; i < m ; ++i)
for( int j = 0 ; j < q ; ++j)
cout<<c[i][j]<<" ";
cout<<endl;
return 0;
}
3、代码的截图和报错的截图如下:
4、关于报错的进一步描述
百度了一下具体的报错信息,可惜真的看不懂
5、自己关于这个问题的理解
我感觉报错信息可能是在纠结 i 和 j 的问题,因为数组里面的下标必须是常量或者常量表达式。但是在第三层循环中,i 和 j 确实是常量,所以我个人认为不存在 i 和 j 是否是常量的问题。
m,n,p,q未初始化