本文比较了各个版本的矩阵乘法计算
IJK版本
c
#include <stdio.h>
int main()
{
int A[2][2] = { 0,1,2,3 };
int B[2][2] = { 4,5,6,7 };
int C[2][2] = { 0,0,0,0 };
int num = 2;
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
for (int k = 0; k < num; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("C[%d][%d] = %d\t\t", i, j, C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("&C[%d][%d] = %p\t", i, j, &C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
}

JIK版本
c
#include <stdio.h>
int main()
{
int A[2][2] = { 0,1,2,3 };
int B[2][2] = { 4,5,6,7 };
int C[2][2] = { 0,0,0,0 };
int num = 2;
for (int j = 0; j < num; ++j) {
for (int i = 0; i < num; ++i) {
for (int k = 0; k < num; k++) {
C[i][j] += A[i][k] * B[k][j];
printf_s("C[%d][%d] += A[%d][%d] * B[%d][%d] = %d\t\t", i, j, i, k, k, j, C[i][j]);
}
printf_s("\r\n");
}
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("C[%d][%d] = %d\t\t", i, j, C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("&C[%d][%d] = %p\t", i, j, &C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
return 0;
}

JKI版本
c
#include <stdio.h>
int main()
{
int A[2][2] = { 0,1,2,3 };
int B[2][2] = { 4,5,6,7 };
int C[2][2] = { 0,0,0,0 };
int num = 2;
for (int j = 0; j < num; ++j) {
for (int k = 0; k < num; k++) {
for (int i = 0; i < num; ++i) {
C[i][j] += A[i][k] * B[k][j];
printf_s("C[%d][%d] += A[%d][%d] * B[%d][%d] = %d\t\t", i, j, i, k, k, j, C[i][j]);
}
printf_s("\r\n");
}
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("C[%d][%d] = %d\t\t", i, j, C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("&C[%d][%d] = %p\t", i, j, &C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
return 0;
}

KJI版本
c
#include <stdio.h>
int main()
{
int A[2][2] = { 0,1,2,3 };
int B[2][2] = { 4,5,6,7 };
int C[2][2] = { 0,0,0,0 };
int num = 2;
for (int k = 0; k < num; k++) {
for (int j = 0; j < num; ++j) {
for (int i = 0; i < num; ++i) {
C[i][j] += A[i][k] * B[k][j];
printf_s("C[%d][%d] += A[%d][%d] * B[%d][%d] = %d\t\t", i, j, i, k, k, j, C[i][j]);
}
printf_s("\r\n");
}
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("C[%d][%d] = %d\t\t", i, j, C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("&C[%d][%d] = %p\t", i, j, &C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
return 0;
}

KIJ版本
c
#include <stdio.h>
int main()
{
int A[2][2] = { 0,1,2,3 };
int B[2][2] = { 4,5,6,7 };
int C[2][2] = { 0,0,0,0 };
int num = 2;
for (int k = 0; k < num; k++) {
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
C[i][j] += A[i][k] * B[k][j];
printf_s("C[%d][%d] += A[%d][%d] * B[%d][%d] = %d\t\t", i, j, i, k, k, j, C[i][j]);
}
printf_s("\r\n");
}
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("C[%d][%d] = %d\t\t", i, j, C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("&C[%d][%d] = %p\t", i, j, &C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
return 0;
}

IKJ版本
c
#include <stdio.h>
int main()
{
int A[2][2] = { 0,1,2,3 };
int B[2][2] = { 4,5,6,7 };
int C[2][2] = { 0,0,0,0 };
int num = 2;
for (int i = 0; i < num; ++i) {
for (int k = 0; k < num; k++) {
for (int j = 0; j < num; ++j) {
C[i][j] += A[i][k] * B[k][j];
printf_s("C[%d][%d] += A[%d][%d] * B[%d][%d] = %d\t\t", i, j, i, k, k, j, C[i][j]);
}
printf_s("\r\n");
}
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("C[%d][%d] = %d\t\t", i, j, C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
for (int i = 0; i < num; ++i) {
for (int j = 0; j < num; ++j) {
printf_s("&C[%d][%d] = %p\t", i, j, &C[i][j]);
}
printf_s("\r\n");
}
printf_s("\r\n");
return 0;
}

外部参考
深入理解计算机系统(第三版)