C语言,大佬帮忙看下,输入后不知道为什么要多输入一个字符才可以输出结果

#include<stdio.h> 
int main()
{
    int b[15][44],x,y;
    for(x=0;x<3;x++)
    {
        for(y=0;y<4;y++)
        {
            scanf("%d ",&b[x][y]);
        }
        
    }
int max=b[0][0];    
for(x=0;x<3;x++)
{
    for(y=0;y<4;y++)
    {
        if(b[x][y]>max)
        {
            max=b[x][y];
        }
    }
}
printf("%d %d %d",max,x,y);
return 0;
}

 

改成这个:

#include<stdio.h> 
int main()
{
    int b[15][44],x,y;
    for(x=0;x<3;x++)
    {
        for(y=0;y<4;y++)
        {
            scanf("%d",&b[x][y]);
        }
        
    }
    int max=b[0][0];   
    for(x=0;x<3;x++)
    {
        for(y=0;y<4;y++)
        {
            if(b[x][y]>max)
            {
                max=b[x][y];
            }
        }
    }
    printf("%d %d %d",max,x,y);
    return 0;
}