ASCII码排序,用C怎么做

Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。

Output
对于每组输入数据,输出一行,字符中间用一个空格分开。

Sample Input
qwe
asd
zxc

Sample Output
e q w
a d s
c x z

#include <stdio.h>

void sort(char *chs);

int main()
{
    char chs[3];
    printf("Input : ");
    for (int i = 0; i < 3; i++)
        scanf_s("%c", &chs[i]);
    getchar();
    sort(chs);
    printf("Output : ");
    for (int i = 0; i < 3; i++)
        printf("%c ", chs[i]);
    getchar();
}

void sort(char *chs)
{
    int i, j;
    int length = sizeof(chs) / sizeof(char) - 1;
    for (i = 0; i < length; i++)
    {
        for (j = i + 1; j < length; j++)
        {
            if (chs[i] > chs[j])
            {
                char temp = chs[j];
                chs[j] = chs[i];
                chs[i] = temp;
            }
        }
    }
}