为什么结果不显示啊,只是说点击任意地方继续

题目是,用起泡法对输入的十个字符从小到大排序。第一张是步骤,结果是第二张那样

img

img

void sort_chars(char chars[], int size)
{
    int i, j;
    char temp;

    // 使用冒泡排序算法
    for (i = 0; i < size - 1; i++) {
        for (j = 0; j < size - i - 1; j++) {
            if (chars[j] > chars[j+1]) {
                // 交换相邻的两个字符
                temp = chars[j];
                chars[j] = chars[j+1];
                chars[j+1] = temp;
            }
        }
    }
}


这么改,供参考:

#include <stdio.h>
#include <string.h>
#define N  32
void sort(char[]);
int main()
{
    char str[N];
    scanf("%s", str);
    sort(str);
    printf("排序后:\n");
    puts(str);
    return 0;
}
void sort(char str[])
{
    int i, j;
    char t;
    for (i = 0; str[i + 1]; i++)
    {
        for (j = 0; str[j + 1]; j++)
            if (str[j] > str[j + 1])
            {
                t = str[j]; str[j] = str[j + 1]; str[j + 1] = t;
            }
    }
}

字符串的排序,你得是字符串的数组,也就是二维数组,否则只能输入1个字符串