将两个矩阵乘以不同的维度

我正在编写一个乘法矩阵的应用程序。 这适用于nxn矩阵a和b的预期:

for(k = 0; k < n; k++) { for(i = 0; i < n; i++) { tmp = a[i][k]; for(j = 0; j < n; j++) { c[i][j] = c[i][j] + tmp * b[k][j]; } } } 

如果a是nxy且b是yxm(暗示c是nxm)。 如何修改上述循环才能工作?

谢谢

这应该工作:

 for(k = 0; k < y; k++) { for(i = 0; i < n; i++) { tmp = a[i][k]; for(j = 0; j < m; j++) { c[i][j] = c[i][j] + tmp * b[k][j]; } } }