float f=44268/107402;
printf("\n%f",f);
出力:
0.000000
どうしてこうなった!
win 7でpelles cideを使用しています。
コンパイラはオペランドを整数として扱います。試す:
float f = 44268.0 / 107402;
^
または多分
float f = (float)44268 / 107402;
Integer division truncates
float f=44268.0/107402;
1 つの数値を float にすると、他の数値 ti float が自動的に昇格し、最終的に浮動小数点の結果になります。
float f = 44268 / 107402;
変数は整数値で初期化されます。float 値が必要であることをコンパイラーに伝えるには、浮動小数点を追加する必要があります。
float f = 44268. / 107402.;