二维数组 选择排序,这样写对吗?

运行的时候总是不对,第一个数找不到了,求改正。

void SelectSort(char b[100][100]) {
    char temp[100];
    char min[100];
    for (int i = 0; i < 4; i++)
    {
        strcpy(min, b[i]);
        for (int j = i+1; j < 5; j++)
        {
            if (strcmp(min, b[j]) > 0)
            {
                strcpy(min, b[j]);
            }
        }
        strcpy(temp, min);
        strcpy(min, b[i]);
        strcpy(b[i], temp);
    }

    for (int i = 0; i < 5; i++)
    {
        printf("%s ", b[i]);
    }
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^