我完成了一个类项目的编程,但我仍然需要获得运行时间。我尝试了clock()函数,但它没有用。
int main()
{
clock_t start_time=clock();
(my codes)
clock_t end_time=clock();
printf("The running time is %f", end_time-start_time);
}
我想这是使用时钟功能的正确方法,对吗?但我得到的只有0.000000。有人能告诉我正确的方法吗?谢谢!
答案 0 :(得分:1)
clock_t
不是float
,而是整数类型,很可能是long
。
因此,您可以%ld
使用printf()
。
同样clock()
不返回秒,但CPU滴答。因此,要获得秒,clock()
返回的值将被系统常量CLOCKS_PER_SEC
分开。
答案 1 :(得分:0)
phil你做得对(也许你也应该除以CLOCKS_PER_SEC)
float time = (float)(end_time-start_time)/(float)CLOCKS_PER_SEC;
printf("The running time is %f", time);
并且不要忘记扮演"漂浮"因为如果你得到0.5的结果,由于整数除法,它将向下舍入到0.0。
之后你需要花多少时间执行程序?因为据我所知,时钟具有测量几毫秒时间的能力,所以如果你编程花费的时间少于几毫秒,那么很可能无法检测到这个时间(时钟非常适合测量几秒钟的时间)精度很高)