2009-07-25 15 views
1

をスキャンし、私はC言語を使用してコードを書いた:2D-float配列の値が

main() 
{ 
    float x[10][10]; int i,j; clrscr(); 
    scanf("%d%d",&i,&j); 
    for(i=0;i<3;i++) 
     for(j=0;j<3;j++) 
      scanf("%f",&x[i][j]); 
...... 
} 

を私はこのプログラムを実行すると、「リンクされていない浮動小数点の変換」のような エラーで異常終了があります。
私が間違っていることを教えていただけますか?

私のOS:Windows XPのコンパイラ:それならばTurboC

+0

これらの行の前に4つのスペースを置くと、コードとして書式設定され、読みやすくなります。そうすることをお勧めします。 – Sneakyness

答えて

6

http://c-faq.com/fp/fpnotlinked.html

ターボC(とリッチーの元PDP-11コンパイラ)を含む小型機のためのいくつかのコンパイラ、特定の浮動小数点サポートを除外それが必要ないように見えます。特に、printfとscanfの非浮動小数点バージョンは、%e、%f、および%gを扱うコードを含まないことでスペースを節約します。プログラムが浮動小数点を使用するかどうかを判断するヒューリスティックは不十分で、浮動小数点サポートのロードを強制するために浮動小数点ライブラリ関数(sqrtなど)にダミー呼び出しを挿入する必要があります。 一部のMS-DOSコンパイラで、同様のエラーメッセージ(おそらく ``浮動小数点が読み込まれません '')が発生する部分的に関連する問題が発生する可能性があります(詳細はcomp.os.msdos.programmerのFAQリストを参照してください)浮動小数点ライブラリの誤った変形がリンクされている場合。さまざまな浮動小数点ライブラリのコンパイラマニュアルの説明を確認してください。

+3

これはDailyWTFの候補者ではない場合、私は何か分からない。 –