我是C的完全新手。我正在尝试编写一个函数以将两个矩阵相乘。我将只处理2x2,所以我将列举它们。 我的想法是将结果设置为2x2。 目前我有这个,但是我不知道如何正确修复它。谢谢您的任何帮助。
float [][] product2(float A[2][2],float B[2][2]){ //works only on 2x2's!
float C[2][2];
C[0][0]=A[0][0]*B[0][0]+A[0][1]*B[1][0];
C[0][1]=A[0][0]*B[0][1]+A[0][1]*B[1][1];
C[1][0]=A[1][0]*B[0][0]+A[1][1]*B[1][0];
C[1][1]=A[1][0]*B[0][1]+A[1][1]*B[1][1];
return C;
}
编辑:
如果可能的话,我想避免使用输入矩阵来获取输出。 第2次迭代会成功吗?
float* traspose(float A[]){ // Metodo 1
float B[4];
B[1]=A[2];
B[2]=A[1];
return B;
}
我没有从编译器中得到任何错误,但是合法吗?