死亦秋叶之静美 发表于 2019-11-24 19:56:00

程序运行结果是乱码

大佬们为什么我这个排序运行没有错误但是运行结果是乱码,我自己没查出哪有问题来,请各位大佬请指教一下,谢谢
# include <stdio.h>
void quick_sort (int array[], int left, int right)
{
        int i = left, j = right;
        int temp;//交换时的临时变量
        int pivot;//中间基准
        pivot = array[(left + right) / 2];
        while (i <= j)
        {
                //从左到右找到大于等于基准点的元素
                while (array < pivot)
                {
                        ++i;
                }
                //从右往左找到小于等于每个基准点的元素
                while (array > pivot)
                {
                        --j;
                }
                //如果i<=j则互换
                if (i <= j)
                {
                        temp = array;
                        array = array;
                        array = temp;
                        ++i;
                        --j;
                }
        }
        if (left < j)
        {
                quick_sort(array, left, j);
        }
        if (i < right)
        {
                quick_sort(array, i, right);
        }
}
int main (void)
{
        int array[] = {73, 108, 111, 118, 101, 70, 105, 115, 104, 67, 46, 99, 111, 109};
        int i,length;
        length = sizeof(array) / sizeof(array);
        quick_sort(array, 0, length-1);
        printf ("排序后的结果是:");
        for (i = 0;i < length; ++i)
        {
                printf ("%d",array);
        }
        putchar('\n');
        return 0 ;
}

ba21 发表于 2019-11-24 19:59:42

我只能告诉你,我用VC6运行没乱码。

素语 发表于 2019-11-24 21:08:43

你是不是把排序的数字当成乱码了,我运行是正确的

死亦秋叶之静美 发表于 2019-11-25 08:33:27

ba21 发表于 2019-11-24 19:59
我只能告诉你,我用VC6运行没乱码。

不能把,出来一大堆数字,我在试试

死亦秋叶之静美 发表于 2019-11-25 08:34:31

素语 发表于 2019-11-24 21:08
你是不是把排序的数字当成乱码了,我运行是正确的

不应该,我在试试

ijy 发表于 2019-11-25 11:34:49

V C6运行结果是这个,不造是不是乱码?或者是你想要的;

踆乌_gpmvz 发表于 2019-11-25 12:09:47

ijy 发表于 2019-11-25 11:34
V C6运行结果是这个,不造是不是乱码?或者是你想要的;

C:\Users\Shinelon\Desktop\捕获.PNG
不是乱码吧,加一些回车或空格把输出的数字分就可以出来
页: [1]
查看完整版本: 程序运行结果是乱码