C language two-dimensional array, print array, all values are the last member of the array value

  c++, question
#include <stdio.h>
 
 void create(){
 int m,n;
 Printf ("please enter the number of lines m\n");
 scanf("%d",&m);
 Printf ("Please Enter Number of Columns n\n");
 scanf("%d",&n);
 printf("%d,%d\n",m,n);
 int a[m][n];
 for (int i = 0;   i < m;  i++){
 for (int j = 0;   j < n;  j++) {
 Printf ("please enter matrix %d%d value \n",i,j);
 getchar();
 scanf("%d", &a[m][n]);
 printf("%d\n", a[m][n]);
 }
 }
 
 for(int i = 0;   i < m;  i++) {
 for(int j = 0;   j<n;  j++){
 printf("%d\t", a[m][n]);
 }
 }
 }
 int main(){
 create();
 return 0;
 }

clipboard.png
What went wrong, thank you

You should use i, j in the final printing.

for(int i = 0;   i < m;  i++) {
 for(int j = 0;   j<n;  j++){
 printf("%d\t", a[i][j]);
 }
 }