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()。宣言を追加するか、定義を前に移動しますmain()

buildheap()、、exchange()および:と同じ問題が発生する可能性maxheap()があります。これらの関数のいずれも認識しません。

于 2012-08-01T21:47:09.937 に答える