- ベストアンサー
printf("%lf",5/3); は 0.000000 ?
Cを勉強中です。 main(){ printf("%lf",5/3); } をBorland C++ 5.5.1コンパイラで コンパイルして実行すると、 0.000000 と表示されてしまいます 1.666666 と表示するには、何が足りないのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
printf("%lf",5/3) の 5/3 は整数の割り算となっています。 5.0のように実数を使ってみてください
その他の回答 (1)
- hashioogi
- ベストアンサー率25% (102/404)
回答No.2
5/3は整数を整数で割っていますので結果は1.66666ではなく1です。 つまりprintf("%lf",5/3) ;はprintf("%lf",1) ;と書いたのと同じです。ですから 0.000000と表示されてしまうのでしょう。 後はC言語の教科書を読んでください。
質問者
お礼
整数と小数は、普段は意識しないので、間違っていました。 ご回答で、よく理解できました。ありがとうございました。
お礼
ありがとうございます! なるほど、整数を使ったからなのですね。 よくわかりました。ありがとうございました。