C语言中关于二维数组FOR循环打印问题

问题遇到的现象和发生背景

定义一组二维数组,用for循环打印,但是编译出错

问题相关代码,请勿粘贴截图
int main(void)
{
    int a, b;
    int arr[2][5] =
    {
        {1, 2, 3, 4, 5},
        {4, 5, 6, 7, 8}
    }
    for (a = 0; a < sizeof(arr) / sizeof(arr[0]); a++)
    {
        for (b = 0; b < sizeof(arr[0]) / sizeof(arr[0][0]); b++)
        {
            printf("%d,", arr[a][b]);
        }
        printf("\n");
    }
    return 0;
}

运行结果及报错内容

error C2143: syntax error : missing ';' before 'for'
执行 cl.exe 时出错.

我的解答思路和尝试过的方法

重新编写多次,并不知道错误出在哪里

我想要达到的结果

希望能解决这个问题

数组定义后缺少;

for中的判断确定没问题吗?