-2

奇妙な出力が出始めたばかりですが、printfこれを見たことがありますか? 何が原因である可能性がありますか? http://imgur.com/4Mt6xdi

編集

これがコードです。私は c を初めて使用するので、何か (エラーの原因ではない場合でも) 間違っているか珍しいように見える場合は教えてください。

       printf(f2,"%8.31f\t%8.31f\n",x[0],x[2]);
       fprintf(f2,"%8.31f\t%8.31f\n",x[1],x[2]);
4

2 に答える 2

2

あなたが書くコードでは:

if (x[0]*oldx<0)
{
   printf(f2,"%8.31f\t%8.31f\n",x[0],x[2]);
   fprintf(f2,"%8.31f\t%8.31f\n",x[1],x[2]);
}

wheref2は へのポインタFILEであり、 の最初のパラメータとして渡されませんprintf。取り除くだけです。

于 2013-10-28T06:29:16.997 に答える
1

96 ~ 97 行目に少なくとも 1 つの問題があります。

   printf(f2,"%8.31f\t%8.31f\n",x[0],x[2]);
   fprintf(f2,"%8.31f\t%8.31f\n",x[1],x[2]);

fprintf最初の行はではなくを呼び出す必要がありprintfます。

どのコンパイラも、最初の引数としてprintfaを呼び出した場合、少なくとも警告を表示する必要があります。FILE*そのような警告を見ましたか?もしそうなら、なぜそれを無視したのですか?

追加の警告を有効にしてコンパイルすると、他の多くの問題が表示されるはずです。他のことをする前にそれらを修正してください。

于 2013-10-28T06:31:35.013 に答える