結果が0.333333となることを期待しているのですが,0.000000と表示されてしまいます.
C
1#include <stdio.h> 2 3int main(int argc, const char * argv[]) { 4 double x; 5 x = 1 / 3; 6 printf("x: %f\n", x); 7 return 0; 8}
そこで,次のようにコードを書き換えると,期待通りの動作をしました.
C
1#include <stdio.h> 2 3int main(int argc, const char * argv[]) { 4 double x; 5 x = 1 / 3.0; 6 printf("x: %f\n", x); 7 return 0; 8} 9
x = (int)1/3としなくてもキャスト変換されてしまうのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。