我的char二维数组存了不止一个字符

我也不知道为啥,我的char二维数组好像装了不止一个字符就离谱.....代码如下,input也在下面

output长这样

.

...
#include<stdio.h>

int main()
{
    int num,n;
    char bl;
    scanf("%d",&num);
    for(int i = 1;i<=num;i++)
    {
        char ak[100][100] = {};
        int k = 0;
        int re[10] ={};

        scanf("%d",&n);
        for(int y = 1;y<=n;y++)
        {
            for(int t = 1;t<=n;t++)
            {
                bl = getchar();
                if(bl!='\n')
                    ak[y][t] = bl;
            }
        }
        printf("%c",ak[2][3]);
    }
}

这是input

6
4
..*.
....
*...
....
2
*.
.*
2
.*
.*
3
*.*
...
...
5
.....
..*..
.....
.*...
.....
4
....
....
*...
*...

语句
char ak[100][100] = {};
改为
char ak[100][100] = {'\0'};

你代码想实现什么不是很清楚啊,你双循环输入了一个矩阵,但下一个循环又会被覆盖掉,因为每次y,t都是从1开始的,有什么作用呢?另外输出个ak[2][3]是什么作用呢?

希望题主说明一下代码想实现的目标,以便有针对性得给出解决办法