一组数排序C语言,顺序出错

问题遇到的现象和发生背景

顺序不对

问题相关代码,请勿粘贴截图

void bllow_brown(int arr[],int n)
{
int i = 0;
int k = 0;
int j = 0;
for ( i = 0;i <n-1 ; i++)
{
k = i;
for ( j = 1; j < n; j++)
{

        if (arr[i]>arr[j])
        {
            k = j;
        }
    }
    if (k != i)
    {
        int tmp = arr[i];
        arr[i] = arr[k];
        arr[k] = tmp;
    }
}
for (i = 0; i < n; i++)
{
    printf("%d ", arr[i]);
}

}
int main(void)
{
int arr[] = { 9,8,7,6,5,4,3,2,1,0};
int n = sizeof(arr) / sizeof(arr[0]);
bllow_brown(arr,n);
return 0;
}

运行结果及报错内容

img

我想要达到的结果

0 1 2 3 4 5 6 7 8 9

j应该从i+1开始吧


void bllow_brown(int arr[],int n)
{
int i = 0;
int k = 0;
int j = 0;
for ( i = 0;i <n-1 ; i++)
{
k = i;
for ( j = i+1; j < n; j++)      //////////////////////这里将j=1改为j=i+1
{

        if (arr[i]>arr[j])
        {
            k = j;
        }
    }
    if (k != i)
    {
        int tmp = arr[i];
        arr[i] = arr[k];
        arr[k] = tmp;
    }
}
for (i = 0; i < n; i++)
{
    printf("%d ", arr[i]);
}
}
int main(void)
{
int arr[] = { 9,8,7,6,5,4,3,2,1,0};
int n = sizeof(arr) / sizeof(arr[0]);
bllow_brown(arr,n);

return 0;
}