【发布时间】:2021-06-26 20:12:03
【问题描述】:
我正在学习如何在 C 中声明函数并使用它们。我尝试在 C 中编写砖排序算法,但无法使其工作。当我在主函数中编写所有内容时,算法本身运行良好,所以我认为问题在于我如何尝试声明函数。正如我所说,我是这方面的新手,所以如果我明显遗漏了一些东西,请原谅我,并提前感谢您抽出时间帮助我。我真的很感激。
这是我的代码
#include <stdio.h>
int n, i, a[100], temp, isSorted;
int brickSort(a[], n)
{
isSorted=0;
while(isSorted==0)
{
isSorted=1;
for(i=0; i<=n-2; i=i+2)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
isSorted=0;
}
}
for(i=1; i<=n-2; i=i+2)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
isSorted=0;
}
}
}
for(i=0; i<n; i++)
{
printf("%d ", a[i]);
}
}
int main()
{
printf("Enter the amount of numbers ");
scanf("%d", &n);
for(i=0; i<n; i++)
{
printf("Enter number ");
scanf("%d", &a[i]);
}
return brickSort(a[], n);
return 0;
}
这是我收到的错误消息
int brickSort(a[], n)
^
main.c:5:20: error: expected declaration specifiers or ‘...’ before ‘n’
int brickSort(a[], n)
^
main.c: In function ‘main’:
main.c:53:12: warning: implicit declaration of function ‘brickSort’ [-Wimplicit-function-declaration]
return brickSort(a[], n);
^~~~~~~~~
main.c:53:24: error: expected expression before ‘]’ token
return brickSort(a[], n);
^
【问题讨论】:
-
哦,对不起,我认为这样会更好。有没有办法编辑我的问题还是我需要重新提交?代码本身是文本格式的,如果有区别,只有错误消息是图像。
-
您可以使用问题下方的“编辑”链接来编辑您的问题。你也可以从这里编辑:edit