-
#include
clock_t start,end;
int t;
在計時碼表的開頭寫上:
start = clock();
在計時碼表的末尾寫:
end = clock();
t=(end - start)/clocks_per_sec;
printf("you use % seconds", t);
-
clock() 函式:
clock() 是 C C++ 中的乙個計時函式,與之關聯的資料型別是時鐘 t。 在 MSDN 中,時鐘功能定義如下:
clock_t
clock(void)
此函式返回“啟動此程式程序”時間和“在程式中呼叫 clock() 函式”之間的 CPU 時鐘計時單元 (clock)。
tick),在MSDN中稱為掛鐘;如果掛鐘時間不理想,則返回 -1。 其中時鐘 t 是用於儲存時間的資料型別,在檔案中我們可以找到它的定義:
#ifndef
clock_t_defined
typedef
longclock_t;
#define
clock_t_defined
#endif
顯然,時鐘 t 是乙個長整數。 在檔案中,還定義了乙個恆定的每秒時鐘數,用於指示一秒鐘內將有多少個時鐘計時單元,定義如下:
#define
clocks_per_sec
clock_t)1000)
您可以看到,每千分之一秒(1 毫秒),呼叫 clock() 函式返回的值就會增加 1。 例如,您可以使用公式 clock() clocks per sec 來計算程序本身的執行時間
voidelapsed_time()
#include
#include
#include
intmain(void)
在作者的機器上,結果如下:
timetodo
emptyloopsis
seconds
上面我們看到時鐘定時單元的長度是1毫秒,所以定時的精度也是1毫秒,那麼我們能不能通過定義更大的時間來改變每秒時鐘的定義,這樣定時精度就更高了呢? 嘗試一下,你會發現它不起作用。 在標準 C++ 中,計時的最小單位是一毫秒。
time_t
time(time_t
計時器返回值是從 1970 年到現在的秒數。
可以將其與長型連線。
引數也是如此。
如長期 s
time_s
time(null
時間 s 是從 1970 年到現在的秒數。
或長
time_s
null;time(time_s);
時間 s 是從 1970 年到現在的秒數。
如果要計算之前和之後的時間段,請將時間取一次,然後減去一次,以知道需要多少秒。
分號是語句結尾的符號,但迴圈後不使用分號,if、and 子函式如 long long a (int b) 等,其他所有都用了,但不能加兩個分號,雖然不會造成錯誤,但可能會影響結果。