fork download
  1. // 2004年1月10日13時37分4秒問題の実験
  2. #include<stdio.h>
  3. #include<time.h>
  4. int main(int argc, char *argv[])
  5. {
  6. time_t now; // 現在の日時
  7. time_t ft10min; // nowの10分後の日時
  8. time_t half; // 上記2つの中間の日時 (足して2で割る)
  9. time_t truehalf; // 上記2つの中間の日時 (2で割って足す)
  10.  
  11. now = time(NULL);
  12. ft10min = now + 10 * 60;
  13. half = (now + ft10min) / 2;
  14. truehalf = (time_t) ((double) now / 2.0 + (double) ft10min / 2.0);
  15.  
  16. printf("・現在の日時 = %s", ctime(&now));
  17. printf("・10分後の日時 = %s", ctime(&ft10min));
  18. printf("・上記を足した半分 = %s", ctime(&half));
  19. printf("・正しく計算した半分 = %s", ctime(&truehalf));
  20.  
  21. return 0;
  22. }
Success #stdin #stdout 0.01s 1852KB
stdin
Standard input is empty
stdout
・現在の日時         = Mon Nov 26 23:29:34 2012
・10分後の日時       = Mon Nov 26 23:39:34 2012
・上記を足した半分   = Wed Nov  8 20:20:26 1944
・正しく計算した半分 = Mon Nov 26 23:34:34 2012