У меня есть функция, которая умножает две матрицы A и B, а затем выводит результат. Я получил два разных результата при запуске запрограммировать двумя похожими способами.
первый:
FILE *f;
f = fopen("in.txt","r");
struct Mat* A = read_mat(f);
struct Mat* B = read_mat(f);
print_mat(mat_mul_1(A, B));
вывод был точным умножением
A * B
секунд:
FILE *f;
f = fopen("in.txt","r");
print_mat(mat_mul_1(read_mat(f), read_mat(f)));
вывод был точным умножением
B * A
Я хочу знать, почему аргументы были отменены ?!
(поскольку функция 'mat_mul_1' представляет собой черный ящик)