Code:
int **make_matrix(int *m,int *n,int mlen,int nlen)
{
int j,k;
int **matrix=malloc(mlen*nlen*sizeof(int));
for(k=0;k<nlen;k++)
for(j=0;j<mlen;j++)
matrix[k][j]=m[k]*n[j];
return matrix;
}
1.C does not allow creation of multidimwntiona arrays.
2.Tha call to malloc() allocates insufficient space to accommodate the correct number of elements.
3.Inside make_matrix dereferences random memory address,resulting in undefined behaviour.
4.C uses row-major indexing rather than column -major indexing.The logic used to compute indices is therefore incorrect.
5.internal algorithms of make_matrix() consistantly result in memory leak.

