array double func(array double B[2][2])[2][2] { return inverse(B); } int main() { array double a[2][2] = {2, 4, 3, 7}; array double inv[2][2]; int status; inv = func(a); printf("inverse(a) =\n%f\n", inv); printf("inverse(a)*a =\n%f\n", inv*a); printf("a*inverse(a) =\n%f\n", a*inv); }
inverse(a) = 3.500000 -2.000000 -1.500000 1.000000 inverse(a)*a = 1.000000 0.000000 0.000000 1.000000 a*inverse(a) = 1.000000 0.000000 -0.000000 1.000000