请问我这个代码哪里不对 为什么没输入完就卡出来了?

旋转字符矩阵读入一个n*n的字符矩阵, 绕矩阵中心顺时针旋转90度并输出结果.有多组测试数据。第一行是整数T (T <= 100),表示测试数据的组数,随后有T组测试数据。每一组测试数据的第一行是正号数n, 随后是一个n*n的全由小写英文字符构成的字符矩阵, n < 100.对应每组输入,输出绕矩阵中心顺时针旋转的字符矩阵, 每组给出完成后, 再输出一个空行.#include<stdio.h>#include<string.h>#define N 100int main(){ int T, a[N][N], b[N][N]; scanf("%d", &T); while(T--) { int n, i, j, k; scanf("%d", &n); for(i = 0; i < n; i++) for(j = 0; j < n; j++) scanf("%c", &a[i][j]); a[i][j] = b[j][n-i-1]; for(i = 0; i < n; i++) for(j = 0; j < n; j++) printf("%c ", b[i][j]); } return 0;}