遍历后,窗口空白没反应

大佬就我,为什么遍历之后没反应
#include<stdio.h>
#define n 5
int main() {
int a[n][n] = { 0 };
a[1][1] = 1;
int i = 0, j = 0;
int k = 1;
while (k < 25) {
while (j + 1 < n && a[i][j + 1] == 0) {
j++;
k++;
a[i][j] = k;
}
while (i + 1 < n && a[i + 1][j] == 0) {
i++;
k++;
a[i][j] = k;
}
while (j - 1 >= 0 && a[i][j - 1] == 0) {
j--;
k++;
a[i][j] = k;
}
while (i - 1 >= 0 && a[i - 1][j] == 0) {
i--;
k++;
a[i][j] = k;
}
}
for (i = 0;i < n;i++) {
for (j = 0;j < n;j++) {
printf("%d",a[i][j]);
}
printf("\n");
}
}

能不能给个题目要求呢,有点没看明白这个代码的目的。(虽然我也是小白,但是想一起学习一下)

第一个while的25太多了死循环出不来改17
第二个while执行5,后面三各应该是4次总共就16次
目的应该就是围着二维数组外围填累加数据,真会玩!

img