我得到了我想用 C 重写的代码。目的是矩阵 A 和 B 相乘。
for i := 1 to n do
for j := 1 to n do
begin
C[i,j] := 0;
for k := 1 to n do
C[i,j] := C[i,j] + A[i,k]*B[k,j]
end;
我的 C 翻译:
int main(int argc, const char * argv[])
{
int n = 2; //for testing
int i = n;
int j = n;
int k = n;
int A[i][k];
int B[k][j];
int C[i][j];
for (int i=0; i<n; i++)
{
for (int j=0; j<n; j++)
{
C[i][j]=0;
for (int k=0; k<n; k++)
{
C[i][j] = C[i][j]+A[i][k]*B[k][j];
printf("A[%d][%d]*B[%d][%d]\n", i, k, k, j);
}
printf("\n");
}
}
}
但是,当我测试它时,我得到 n^3 个输出。我在编写上述伪代码时是否出错?此外,什么是开始和结束;假设代表?