为什么x y要从1开始

#include
#include
using namespace std;
int sum,tx[101][101],h,l;
int ss[1001][1001];
void hxbl(int x,int y,int d/方向/)
{
    sum++;
    tx[x][y]=1;/填写/
    cout<<ss[x][y]<<endl;
    if(sum==h*l)
    {
        return;/*结束操作*/
    }
    if(d==1)
    {
        if(tx[x][y+1]==1||y>=l){hxbl(x+1,y,2);}
        else {hxbl(x,y+1,1);}
    }
    if(d==2)
    {
        if(tx[x+1][y]==1||x>=h){hxbl(x,y-1,3);}
        else {hxbl(x+1,y,2);}
    }
    if(d==3)
    {
        if(tx[x][y-1]==1||y<=1){hxbl(x-1,y,4);}
        else {hxbl(x,y-1,3);}
    }
    if(d==4)
    {
        if(tx[x-1][y]==1||x<=1){hxbl(x,y+1,1);}
        else {hxbl(x-1,y,4);}
    }
}
int main()
{
    cin>>h>>l;
    for(int i=1; i<=h; i++)
        for(int j=1; j<=l; j++)
            cin>>ss[i][j];
    hxbl(1,1,1);
    return 0;
}

都可以,从0开始把数组0的空间空出来了,从一开始逻辑上好理解一点吧!
有帮助的话,采纳一下哦!

个人喜好吧。有些人喜欢从1到n作为下标,有些喜欢从0到n-1作为下标,都可以