#include <time.h>
time_t start,end;
time (&start);
//code here
time (&end);
double dif = difftime (end,start);
printf ("Elasped time is %.2lf seconds.", dif);
我在開始和結束時都得到了0.000。我不瞭解錯誤的來源。在C中花費的時間
同樣,使用時間(開始)和時間(結束)或開始=時鐘()和結束=時鐘()來計算經過的時間會更好。
你可以發佈你正在計時的代碼嗎?只要你不需要高精度的時間,看起來你正在計時。 – 2011-05-30 18:06:26
這對我來說很好。您是否使用調試器驗證了開始和結束的值? (注意:爲了測試它,我在時間(開始)和時間(結束)之間放置了一個「睡眠(1)」。) – Tom 2011-05-30 18:07:14
如果您需要更精細的分辨率進行時間測量,是否嘗試過'clock()'? – sverre 2011-05-30 18:08:28