用c语言输出杨辉三角形的前10行数,为什么我的代码运行结果出现了负数,怎么样可以把负数消除掉,是我的代码出问题了?

img


为啥我的输出会有后面的负数,我怎么样可以去掉后面的负数,我的代码有啥问题?

#include <stdio.h>

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

img