fork download
  1. // type_cast.c
  2. #include <stdio.h>
  3.  
  4. int main(void)
  5. {
  6. const int a = 2;
  7. double b1, b2;
  8.  
  9. b1 = 1.0 / a; // aが自動的に(double)aとして処理される
  10. b2 = 1.0 / (double)a;
  11.  
  12. printf("1.0 / a: %lf\n", b1); // => "1.0 / a: 0.500000
  13. printf("1.0 / (double)a: %lf\n", b2); // => 1.0 / (double)a: 0.500000
  14.  
  15. b1 = 1 / a; // (1 / a)が自動的に(double)(1 / a)として処理される
  16. b2 = 1 / (double)a; // (1)が自動的に(double)(1)として処理される
  17.  
  18. printf("1 / a: %lf\n", b1); // => 1 / a: 0.000000
  19. printf("1 / (double)a: %lf\n", b2); // => 1 / (double)a: 0.500000
  20.  
  21. return 0;
  22. }
Success #stdin #stdout 0.01s 5356KB
stdin
Standard input is empty
stdout
1.0 / a: 0.500000
1.0 / (double)a: 0.500000
1 / a: 0.000000
1 / (double)a: 0.500000