Testing my sorting algorithm Error: control reaches end of non-void function

Testing my sorting algorithm Error: control reaches end of non-void function

我想运行看看它是否有效。它应该对 table 个整数进行排序,但我不知道 main 函数应该是什么样子。如何在函数中输入*tab?

void    swap(int *a, int *b)
{
    int buffer;

    buffer = *a;
    *a = *b;
    *b = buffer;
}

sort_int_tab(int *tab, int size)
{
    int a;
    int z;

    z = 0;
    while(z < size)
        {
            a = 1;
            while(a < size)
                {
                    if(tab[z] >= tab[a])
                        {
                            swap(&tab[z], &tab[a]);
                        }
                        z++;
                }
        }       a++;
        z++;
}

int main(void)
{
    
    sort_int_tab();
    return ();
}

您的代码中有两个重要问题。首先,您的函数没有 return 类型。因为你没有 returning 任何东西,它应该是 void:

void sort_int_tab(int *tab, int size) {
    /// Your code...
}

其次,在 main 内部,您正在调用不带参数的函数。你应该传递一个int数组(记得分配内存并初始化它),以及数组的大小:

sort_int_tab(tab, size);

您可以像这样初始化一个数组,然后将其传递给您的函数:

int tab [5] = { 3, 4, 1, 2, 5};
sort_int_tab(tab, 5);