2013-07-30 59 views
1

我使用下面的代码来获取我的程序的总时间。计算虚拟机中程序的运行时间

clock_t start=clock(); 
//doing some work 
clock_t end=clock(); 
printf("%f \n",(double)(end-start)/(double)CLOCKS_PER_SEC); 

我在虚拟机上运行我的程序。它总是告诉我0.000000!你知道为什么吗?是因为VM吗?

回答

1

您试图使用带double值的整数格式说明符进行打印。

尝试:

printf("%f \n",(double)(end-start)/(double)CLOCKS_PER_SEC); 

编辑:刚刚发现this answer应该解决您的问题。

+0

对不起,它是打印双倍的%f。在这里输错。 – Sara

+1

你可以单独打印'start'和'stop'来检查它们是否实际上是相同的值? –

+0

已更新答案和修复链接。 –