繁体   English   中英

测试我的排序算法错误:控制到达非无效 function 的结尾

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

我想运行它以查看它是否有效。 它应该对整数表进行排序,但我不知道主要的 function 应该是什么样子。 如何在 function 中输入 *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 ();
}

您的代码中有两个重要问题。 首先,您的 function 没有返回类型。 由于您没有返回任何东西,因此它应该是void

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

其次,在 main 内部,您调用的是没有 arguments 的 function。 您应该传递一个 int 数组(记得分配 memory 并初始化它),以及数组的大小:

sort_int_tab(tab, size);

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM