Ho preso come esempio un pezzo di codice che già avevi controllato così non ti dò beghe per ricontrollarlo...
Cmq funziona così:
(acquisce e stampa le matrici)
void acquisisci(int **matrice1, int **matrice2, int n_rc)  
{
   int riga1,
      riga2;
   int colonna1,
      colonna2;
      i;                        
   FILE *a,
   *b;
   
   
    printf("Digita il numero ri righe che deve avere la matrice (0 < ) ");
   
   scanf("%d",
         &n_rc);
   
   
   a = fopen("matrice_A.txt", "r");
   b = fopen("matrice_B.txt", "r");
matrice1 = (int**)calloc(n_rc, sizeof(int*));
for(i = 0; i < n_rc; i++)
   matrice1[i] = (int*)calloc(n_rc,sizeof(int));
for(riga1=0; riga1<n_rc; riga1++)
{
   for(colonna1=0; colonna1<3; colonna1++)
   {
      fscanf(a, "%d", &matrice1[riga1][colonna1]);
   }
}  
  for(riga2=0; riga2<n_rc; riga2++)
     for(colonna2=0; colonna2<3; colonna2++)
       fscanf(b, "%d", &matrice2[riga2][colonna2]);
   fclose(a);
/*  fclose(b);*/
   for(riga1=0; riga1<n_rc; riga1++)
        for(colonna1=0; colonna1<n_rc; colonna1++)
       printf("%d ", matrice1[riga1][colonna1]);
     printf("\n");
   
   printf("\n");
  for(riga2=0; riga2<n_rc; riga2++)
       for(colonna2=0; colonna2<n_rc; colonna2++)
       printf("%d ", matrice2[riga2][colonna2]);
     printf("\n");
   
   
}
il mio problema sarebbe usare la funzione all'interno di un'altra funzione...