问题遇到的现象和发生背景
不明白为什么二维数组a[5][5],下表范围不是a[0][0]-a[4][4],为什么还能输出a[5]那一行的值
用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
void Proc(int a[5][5]);
int main(void)
{
int a[5][5],i,j;
Proc(a);
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
printf("%4d",a[1][0]);
return 0;
}
void Proc(int a[5][5])
{int i,j;
for(i=1;i<=5;i++)
{
a[i][1]=1;
a[i][i]=1;
}
for(i=3;i<=5;i++)
{
for(j=2;j<=i-1;j++)
{a[i][j]=a[i-1][j-1]+a[i-1][j];}
}
}
运行结果及报错内容
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
我的解答思路和尝试过的方法
1
1 1
1 2 1
1 3 3 1