杨辉三角打印问题,跟for,二维数组的简单应用问题

  问题:就是那个杨辉三角打印10行,一直就出现这个错误,我实在是找不出问题,非常痛苦,呜呜呜/(ㄒoㄒ)/~~

#include<stdio.h>
int main()
{
int i,j;
int a[10][10];
for(i=0;i<10;i++)
for(j=0;j<i+1;j++)
{ if(j==0||j==i)
a[i][j]=1;
}
for(i=2;i<10;i++)
for(j=1;j<i+1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];

    for(i=0;i<10;i++)
        {
         for(j=0;j<i+1;j++)
        printf("%5d",a{i][j]);
       printf("\n");
        }
    return 0;

}

                                              这是编译报错

Configuration: 2162050303 张04 - Win32 Debug
Compiling
2162050303 张04.c
D:\C++6.0\2162050303 张04.c(19) : error C2143: syntax error : missing ')' before '{'
D:\C++6.0\2162050303 张04.c(19) : error C2059: syntax error : ')'
执行 cl.exe 时出错.

2162050303 张04.obj 1 error(s), 0 warning(s)

我想过它是不是中括号出了错但是尝试把中括号放在不同位置也不行

求帮忙解决

修改处见注释,供参考:

#include<stdio.h>
int main()
{
    int i, j;
    int a[10][10];
    for (i = 0; i < 10; i++){
        for (j = 0; j < i + 1; j++)
        {
            if (j == 0 || j == i)
                a[i][j] = 1;
        }
    }
    for (i = 2; i < 10; i++)
        for (j = 1; j <= i - 1; j++)  //for (j = 1; j < i + 1; j++) 修改
            a[i][j] = a[i - 1][j - 1] + a[i - 1][j];

    for (i = 0; i < 10; i++)
    {
        for (j = 0; j < i + 1; j++) 
        {//修改
            printf("%5d", a[i][j]); //printf("%5d",a{i][j]);修改
        }//修改
        printf("\n");
    } //修改
    return 0; //修改
}