аргументы для функции C меняются местами

У меня есть функция, которая умножает две матрицы 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' представляет собой черный ящик)

6
задан M.ElSaka 9 November 2011 в 07:41
поделиться