求助code blocks编写C的二维数组的转置数组无法正常输出的问题

#include <stdio.h>
#include <math.h>
#define N 10
void Read_Array(int a[][N], int n);
void Print_Array(int a[][N], int n);
void Reverse_Array(int a[][N] , int b[][N] , int n);
int main()
{
int n, ret , a[][N] = {0} , b[][N] = {0};
do{
printf(“Please Input n:\n”);
ret = scanf("%d", &n);
while(getchar() !=’\n’);
}while(ret !=1 || n<0 || n>10);
printf(“n = %d\n”,n);
Read_Array(a, n);
printf(“n = %d\n”,n);
printf(“The matrix is:\n”);
Print_Array(a, n);
Reverse_Array( a , b , n);
printf(“The transposed matrix is:\n”);
Print_Array(b, n);
printf(“n = %d\n”,n);
return 0;
}
void Read_Array(int a[][N], int n)
{
int i , j;
printf(“Input %d*%d matrix:\n” , n , n);
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
scanf("%d", &a[i][j]);
}
}
}
void Print_Array(int a[][N], int n)
{
int i, j;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
printf("%4d “, a[i][j]);
}
printf(”\n");
}
}
void Reverse_Array(int a[][N] , int b[][N] , int n)
{
int i , j;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
b[j][i] = a[i][j];
}
}
}
求助code blocks编写C的二维数组的转置数组无法正常输出的问题

这个n不知道为啥会被修改了。。。。。求大神指教