C実践プログラミングの勉強記録

C実践プログラミング
4章 基本的な宣言及び式

設問4-2
理由:
answer = 1 / 3; は整数型の除算になっているので、小数点以下は切り捨てられる。
小数点以下を切り捨てた値がfloat型変数に入るため、0.0が出力された。

正しくするためには?
1.0/3.0をfloat型変数に代入する。
(1 / 3.0 または 1.0 / 3 でもいい。)
answer = 1.0 / 3.0;

設問4-3
visual studio 2013 だと何回やっても0になるんだが。
今度別の環境でやってみるか。

設問4-4
理由:
変換指定子が整数型になっているため。
%fにすれば正しく出力される。