可用于任意矩阵的 矩阵乘法函数
#include <stdio.h>
void multimatrix(int m, int s, int n, int *p1, int *p2)
{
int i, k, j;
int x = 0;
int c[m][n];
for(i = 0; i < m; i++)
for(j = 0; j < n; j++)
{
for(x = 0,k = 0; k < s; k++ )/*warning:x重置0的位置*/
x += (*(p1 + s * i + k)) * (*(p2 + n * k + j));
c[i][j] = x;
} /*warning:多重循环时怎么加括号*/
for(i = 0; i < m; i++)
{
for(j = 0; j < n; j++)
printf("%4d",c[i][j]);
putchar('\n');
}
}
int main()
{
int a[2][4] = {{1, 2, 3, 4}, {1, 3, 4, 5}};
int b[4][3] = {{1, 2, 3}, {1 ,2 , 3}, {1, 3, 2}, {1, 5, 6}};
multimatrix(2, 4, 3, &a[0][0], &b[0][0]);
return 0;
}
本文介绍了一个用C语言编写的通用矩阵乘法函数,通过示例演示了如何计算两个矩阵的乘积,并提供了关于代码中潜在警告的建议。重点在于函数实现和优化技巧,适合矩阵运算初学者和程序员参考。
1035

被折叠的 条评论
为什么被折叠?



