2013-07-30 82 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

已更新答案和修復鏈接。 –