クロック数を秒数に変換する【C言語】

クロック数を秒数に変換する

#include <stdio.h>
#include <time.h>

int main(void){
    clock_t c;

    c = clock();
    printf("プログラム開始から%.1f秒経過しました。", (double)c / CLOCKS_PER_SEC);
}

プログラム開始から2.5秒後にclock関数を呼び出すと、2500が返される。(単位はクロック数)
それをCLOCKS_PER_SECで割れば、秒単位の値2.5が得られる。(単位は秒)

cをいったんdouble型にキャストして秒単位の経過時間を求めているが、これは”整数/整数”による演算では小数部が切り捨てられるため。

printf("プログラム開始から%.1f秒経過しました。", (double)clock() / CLOCKS_PER_SEC);

変数cに入れなくても計算可能。

コメントを残す

あなたのメールアドレスは公開されません。必須項目には印がついています *