Unable to get the desired output : I am unable to add two 2D array in c++
what could be the issue ? I am trying to add two multi-dimensional array from user input but the output is not right. 
Below is my code

    #include<stdio.h>
    #include<conio.h>
    void main()
    {
     int m,n,p,q,c,d,k;
     int first[10][10],second[10][10],sum[10][10];
     clrscr();
     printf("\nEnter the number of rows and columns of the first matrix");
     scanf("%d %d",&m,&n);
     printf("\nEnter the elements of the first matrix");
     for (c = 0;c < m;c++)
     for (d = 0;d < n;d++)
     scanf("%d",&first[c][d]);
     printf("\nEnter the number of rows and columns of the second matrix");
     scanf("%d %d",&p,&q);
     printf("\nEnter the elements of the second matrix");
     for (c = 0;c < p;c++)
     for (d = 0;d < p;d++)
     scanf("%d",&second[c][d]);
     for (c = 0;c < m;c++)
     for (d = 0;d < n;d++)
     for (k = 0;k < p;k++)
     {
      sum[c][d] = first[c][k] + second[k][d];
     }
     printf("\nThe sum of the two matrices is : \n\n");
     for (c = 0;c < m;c++)
     for (d = 0;d < n;d++)
     {
      printf("%d",&sum[c][d]);
      if (d == n-1)
      {
        printf("\n\n");
      }
     }
     getch();
    }
