簡體   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