不知道哪里出错了,求大神解答!!!

定义2个二维整型数组,每个数组元素都>=8个,但个数不能相同,1个数组在定义时初始化元素,另一个数组通过键盘输入元素,分别输出2个数组中的所有元素(要求:按照矩阵格式输出)

#include 
int main()
{ 
    int a[] = { 1,2,3,4,5,6,7,8}, b[9];
    int n = 9;
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &b[i]);
    }
    printf("A数组:
");
    for (int i = 0; i < 8; i++)
    {
        if (i && i % 4 == 0) printf("
");
        printf("%d ", a[i]);
    }
    printf("B数组:");
    for (int i = 0; i < n; i++)
    {
        if (i && i % 3 == 0) printf("
");
        printf("%d ", b[i]);
    }
    printf("
");
    return 0;
}

如果问题得到解决,请点我回答左上角的采纳和向上的箭头

int a[] = { 1,2,3,4,5,6,7,8}, b[9];
这不是二维数组

如果要输出换行,不应该是
printf("
");
而是
printf("\n");