C语言中不设置的话,中文是按什么来排序的呢?

C语言中不设置的话,中文是按什么来排序的呢?
就像这个

#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#define N 50
void InputName(char StudName[8][N])
{
    int i;
    for ( i = 0; i < 8; i++)
    {
        gets_s(StudName[i]);
    }
}
void BubbleSort(char StudName[8][N])
{
    for (int i = 0; i < 7; i++)
    {
        for (int j = i+1; j < 8; j++)
        {
            if (strcmp(StudName[j], StudName[j + 1]) > 0)
            {
                for (int i = 0; i < N; i++)
                {
                    char s;
                    s = StudName[j][i];
                    StudName[j][i] = StudName[j + 1][i];
                    StudName[j + 1][i] = s;
                }
            }
        }
    }
}
void OutputName(char StudName[8][N])
{
    for (int i = 0; i < 8; i++)
    {
        printf("%s\n", StudName[i]);
    }
}
int main()
{
    char StudName[8][N];
    InputName(StudName);
    BubbleSort(StudName);
    OutputName(StudName);
    return 0;
}

字符排序都是按ASCII码