映画のエンドロール観る派?観ない派?

Cを勉強中です。
main(){
printf("%lf",5/3);
}
をBorland C++ 5.5.1コンパイラで
コンパイルして実行すると、
0.000000 と表示されてしまいます
1.666666 と表示するには、何が足りないのでしょうか。

A 回答 (2件)

printf("%lf",5/3) の 5/3 は整数の割り算となっています。


5.0のように実数を使ってみてください
    • good
    • 0
この回答へのお礼

ありがとうございます!
なるほど、整数を使ったからなのですね。
よくわかりました。ありがとうございました。

お礼日時:2009/10/08 19:33

5/3は整数を整数で割っていますので結果は1.66666ではなく1です。


つまりprintf("%lf",5/3) ;はprintf("%lf",1) ;と書いたのと同じです。ですから
0.000000と表示されてしまうのでしょう。
後はC言語の教科書を読んでください。
    • good
    • 0
この回答へのお礼

整数と小数は、普段は意識しないので、間違っていました。
ご回答で、よく理解できました。ありがとうございました。

お礼日時:2009/10/08 19:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報