亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言時間函數time_t?

C語言時間函數time_t?

倚天杖 2019-02-13 15:11:21
#include <stdio.h>#include <time.h>#include <stdlib.h>int main(){time_t start, end;int i;start = time(NULL);for (i = 1000000; i > 0; --i);end = time(NULL);printf ("%.2f\n", difftime(end, start));return 0;}
查看完整描述

3 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

電腦cpu的主頻太高,一百萬次空循環的執行時間太短,所以,difftime(返回時間差)的返回值非常非常小,比如他返回的是0.0002的話,實際上不是0,但是因你輸出時,只保留兩位小數,后面的不是0的值也沒輸出,所以你保留兩位小數輸出的話,肯定是0.00
另外,difftime的返回值是64位整數,太小的話,肯定也是零,說到底還是因為時間差太小的造成的

循環次數加大一些,現在cpu主頻都是1-2g的,你設1億次或者10億應該才能看到差距
for (i = 100000000; i > 0; --i);
改成1億次。

查看完整回答
反對 回復 2019-03-22
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

說到底,time_t是一個整數,單位是秒,你的運算耗時不到一秒,當然輸出0了,雖然difftime的返回值是double新類型的,但它的單位也是秒,所以difftime不可能返回有小數的值,也就是說小數部分都是0

查看完整回答
反對 回復 2019-03-22
  • 3 回答
  • 0 關注
  • 767 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號