0

我试图用 C 编写一个程序:

这是一段代码:

#include <stdio.h>
int i, left, right, largest = 0, n = 9;
int a[] = {23, 12, 22, 1, 4, 5, 16, 8, 9, 10};
int main()
{
 sort(a);
 //code to print sorted numbers here
 return 0;

}

void sort(int a[])
{
 buildheap(a);
 for(i = n; i < 0; i--)
 {
  exchange(i, 0);
  n = n - 1;
  maxheap(a, 0);
 }
}

它显示如下警告:

heapsort.c:16: warning: conflicting types for âsortâ

这是因为我不包括conio.h吗?

当我尝试包含 conio.h 时,gcc 编译器会抛出未找到 conio.h 的错误。

有关上述警告及其与 conio.h 的相关性/不相关性的任何链接或详细说明都会有所帮助

更新

我很抱歉在这里缺少基础知识。

太感谢了。我的程序现在运行良好

4

1 回答 1

8

sort()这是因为在使用之前没有声明。如果在使用函数之前未声明(或定义)函数,则会生成带有签名的隐式声明(编译器应该发出隐式声明int sort()警告) 。添加声明或将定义移至 before main()

和可能有同样的问题buildheap():我不认识任何这些功能。exchange()maxheap()

于 2012-08-01T21:47:09.937 回答