练习快速排序程序一直在进行转换 输出结果都是负数了

#一直在进行转换
输出结果都是负数了
请各位帮忙看一下

#include
void str(int arr[],int left,int right)
{
    int team;
    int i=left,j=right;
    int pivot;
    pivot = arr[(left+right)/2];
    while(i<=j)
    {
        while(arr[i]while(arr[j]>pivot)
        {
            j--;
        }
        if(i<=j)
        {
            team=arr[i];
            arr[i]=arr[j];
            arr[j]=team;
            i++;
            j--;
        }
    }
    if(leftstr(arr,left,j);
    }
    if(i < right)
    {
        str(arr,i,right);
    }

}
int main(void)
{
    int arr[] = {5,2,9,4,7,8,6,3,0,1};
    int i,lesth;
    lesth = sizeof(arr)/sizeof (arr [0]);
    str(arr,0,lesth-1);
    printf("排序后的结果是;");
    for(i=0;iprintf(" %d",arr[i]);
    }
    printf("\n");
    return 0;
}

for(i=0;i<lesth;i++);

多了个分号,删掉