这个用vs为什么报错啊?

#include<stdio.h>
#define N 5

void in(char x[][N])
{int i,j;
for(i=0;i<N;i++)
{ x[i][i]='%';
for(j=i+1;j<N;i++)
{ x[i][j]='@';x[j][i]='o';}
}
}
void out(char x[][N])
{int i,j;
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%c",x[i][j]);
printf("\n");
}
}
void main()
{char a[N][N];
int(a);
out(a);

}

供参考:

#include<stdio.h>
#define N 5
void in(char x[][N])
{
    int i, j;
    for (i = 0; i < N; i++)
    {
        x[i][i] = '%';
        for (j = i + 1; j < N; j++) //for (j = i + 1; j < N; i++) 修改
        {
            x[i][j] = '@'; 
            x[j][i] = 'o';
        }
    }
}
void out(char x[][N])
{
    int i, j;
    for (i = 0; i < N; i++)
    {
        for (j = 0; j < N; j++)
            printf("%c", x[i][j]);
        printf("\n");
    }
}
void main()
{
    char a[N][N];
    in(a);     //int(a); 修改
    out(a);
}