c语音,矩阵输出结果多出-858993460

#include
void main()
{
int n=0,a[100][100];
scanf("%d",&n);
printf("\n");
int i,j,k=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
a[i-j+1][j]=k;
k++;
}
}
for(i=1;i<=n;i++)
{

printf("\n");

    for(j=1;j<=n;j++)
    {
    printf("%3d",a[i][j]);
    }


}

}

#include "stdio.h"
#include "string.h" //加上

int main()
{
    int n=0,a[100][100];
    memset(a, 0, 100*100*sizeof(int)); //加上
    scanf("%d",&n);
    printf("\n");
    int i,j,k=1;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=i;j++)
        {
            a[i-j+1][j]=k;
            k++;
        }
    }
    for(i=1;i<=n;i++)
    {
        printf("\n");
        for(j=1;j<=n;j++)
        {
            printf("%3d",a[i][j]);
        }
    }
}

图片说明

如果问题解决,请点我回答左上角的采纳,谢谢

把数组定义在函数外面,默认初值为0