我正在尝试创建一个类似这样的方法:
void Multiply(double *A, double *B, double *C, int N);
这是一个计算C = A * B
的函数
A,B和C是NxN(方形)矩阵,我必须通过指针来完成。
我写的代码如下:
int Multiply(double *A, double *B, double *C, int N){
int i,j,k;
double sum;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
sum = 0;
for (k = 0; k < N; k++) {
sum = sum + (*(A+i*N+k)) * (*(B+k*N+i));
}
*(C+i*N+j) = sum;
}
}
}
它不会导致任何错误,也无法正常工作。 我无法看到问题。请有人帮忙吗?
答案 0 :(得分:0)
i,j
的{{1}}元素是C
的行i
乘以A
的{{1}}列。循环的内核应该是:
j