c++递归做一个二分法没达到预期效果

想用递归做一个二分法,最后输出的结果都是‘| |’,这是为啥

#include
const int Len=66;
const int Divs=6;
void subdivide(char ar[],int low,int high,int level);
int main()
{
    char ruler[Len];
    int i;
    for(i=1;i-2;i++)
    ruler[i]=' ';
    ruler[Len-1]='\0';
    int max=Len-2;
    int min=0;
    ruler[min]='|';
    ruler[max]='|';
    std::cout<for(i=1;i<=Divs;i++)
    {
        subdivide(ruler,min,max,i);
        std::cout<for(int j=1;j-2;j++)
        ruler[j]=' ';
    }
    return 0;
}
void subdivide(char ar[],int low,int high,int level)
{
    if(level==0);
    return;
    int mid=(high+low)/2;
    ar[mid]='|';
    subdivide(ar,low,mid,level-1);
    subdivide(ar,mid,high,level-1);
}