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);
我想运行看看它是否有效。它应该对 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);