1樓:
clock_t clock( void );
這個函式返回從「開啟這個程式程序」到「程式中呼叫clock()函式」時之間的cpu時鐘計時單元(clock tick)數,在msdn中稱之為掛鐘時間(wal-clock)。其中clock_t是用來儲存時間的資料型別,在time.h檔案中,我們可以找到對它的定義:
#ifndef _clock_t_defined
typedef long clock_t;
#define _clock_t_defined
#endif
很明顯,clock_t是乙個長整形數。在time.h檔案中,還定義了乙個常量clocks_per_sec,它用來表示一秒鐘會有多少個時鐘計時單元,其定義如下:
#define clocks_per_sec ((clock_t)1000) //clocks_per_sec為系統自定義的
void elapsed_time()
#include 「stdio.h」
#include 「stdlib.h」
#include 「time.h」
int main( )
{long i = 10000000l;
clock_t start, finish;
double total_time;
/* 測量乙個事件持續的時間*/
printf( "time to do %ld empty loops is ", i );
start = clock();
while( i--) ;
finish = clock();
total_time = (double)(finish-start) / clocks_per_sec;
printf( "%f seconds/n", total_time);
return 0;
在筆者的機器上,執行結果如下:
time to do 10000000 empty loops is 0.03000 seconds
上面我們看到時鐘計時單元的長度為1毫秒,那麼計時的精度也為1毫秒,那麼我們可不可以通過改變clocks_per_sec的定義,通過把它定義的大一些,從而使計時精度更高呢?通過嘗試,你會發現這樣是不行的。在標準c/c++中,最小的計時單位是一毫秒。
參考資料
c語言測試程式執行時間.csdn部落格[引用時間2017-12-31]
2樓:
標頭檔案time.h
int a=clock();//從這開始計時這放要測試時間的**
int b=clock();//到這結束
int c=b-a;//算出來的單位是毫秒
C語言求乙個程式執行時間,C語言程式執行時間測試
我用c 做過資料結構 那個單鏈表還在。和你這樣 一樣 你留下 你如果 喜歡就要吧 include using namespace std typedef int elemtype typedef struct studentstudent,slistlink clock的度量單位是ms,但是cpu的...
為什麼c語言程式執行時開啟後自動閃退
我看是網上來的 bai,du編譯後直接雙擊執行的,非gui的程式zhi一般不需要等dao待使用者,執行專完了當然自動退出了,執行屬main 函式末尾返回,你要是想停一下等待看結果,main 函式末尾加一句system pause 例如 include int main 以下一bai段 為例 du 這...
c語言程式執行出錯
沒有錯啊,我在我的電腦上執行了,是可以的。應該是你vc的問題 printf c n cstr1 2 printf c n cstr1 3 printf c n cstr1 4 s改為 c s要求對應引數是個指標,你應該只是想輸出乙個字元而以,用 c 要輸出字串也可以,用 s,cstr1 2 如果你用...