有人看下scanf函数的问题吗

int main()
{
    int a[2][2],b,i,j;

    for(i=0;i<=2;i++)
    {
        for(j=0;j<=2;j++)
        {
            scanf("%d",&a[i][j]);
        } 
    } 
    for(i=0;i<=2;i++)
    {
        for(j=0;j<=2;j++)
        {
            printf("a[%d][%d](%d)=%d\n",i,j,&a[i][j],a[i][j]);
        } 
    } 

}

图片说明
结果是这样,为什么3没有输入进去

int a[2][2],b,i,j;
->
int a[3][3],b,i,j;

这个其实是你对数组访问范围存在无解,
你数组定义的a[2][2] 但是输入三的时候 是a[0][2] 数组定义的根本没有这个范围,
只能取到a[0][0] a[0][1]根本取不到a[0][2]的值,取了就是非法访问了;

你吧数组定义成a[3][3]试试应该就可以了