#include int m, n, k; double *A, *B, *C; void compute() { int i,j,h; for(i = 0; i < m; ++i) { for(j = 0; j < n; ++j) { for(h = 0; h < k; ++h) { C[i*n+j] += A[i*k+h] * B[h*n+j]; } } } } int main(int argc, char **argv) { m = atoi(argv[1]); n = m; k = m; A = (double *) malloc (m * k * sizeof(double)); B = (double *) malloc (k * n * sizeof(double)); C = (double *) malloc (m * n * sizeof(double)); compute (); free(A); free(B); free(C); }