C语言新手 各位大神帮忙看看 这个程序有什么有关问题

C语言新手 各位大神帮忙看看 这个程序有什么问题
#include<stdio.h>
void zhuanzhi(int c[2][2])
{
int i,j;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{
c[j][i]=c[i][j];
}

}
int main()
{
int i,j;
int a[2][2];
     for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
zhuanzhi(a);
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
                   printf("%d", a[i][j]);
                }
printf("\n");
}
return 0;
}
------解决思路----------------------
假如输入分别是1 2 3 4
a转置前的逻辑结构就是
1 2
3 4

双重循环的转置过程就是 1=1 3=2 2=2 4=4
结果打印出来就是
12
24