おかしな挙動?

  • 更新日:
  • C言語

今プロジェクトの課題でC言語でプログラムを組んでるんですが、ちょっとおかしな挙動を示していて困ってます。手元にデバッガがないのが痛いんですが、printfで出力してみると、

double value : 1.000000 int value : 0

実際こんなことってあるんでしょうか。普通にprintf("double value : %f\tint value %d\n",value,(int)value);ってやってるだけなんですが。このせいでプログラムの挙動がおかしいのは分かってるんですが、具体的な解決方法が思いつきません。さてどうしたらいいのやら。


さて、その後2時間くらい粘ったら原因が分かりました。%.20fとかってオプションをつけてみると、本当は微妙に数字が足りてないのが分かります。つまりprintfでは繰上げを行っていたんですね。

このあたりはAPIとかに書いておいてくれると非常にうれしい情報なのですが・・・。

Track Back

Track Back URL

コメントする

公開されません

refresh captcha

画像の中に見える文字を入力してください。

このページの上部へ

About

tetsuの日記・雑記です。
日々経験したことを記録していきます。

広告

サイト内検索

最近のピクチャ

  • リアディレーラ

月別アーカイブ

最近のコメント