#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