😸

[C] clock 関数

に公開

機能

clock 関数は、プログラム開始から現在までの経過CPU時間をクロック単位で取得する。[1]

使用例

経過時間: 0.00 秒 と表示する

\n は改行を表す エスケープシーケンス[2]

コード

clock_t start = clock();
// (時間のかかる処理)
clock_t end = clock();
printf("経過時間: %.2f 秒\n", (double)(end - start) / CLOCKS_PER_SEC);
全文
#include <stdio.h>
#include <time.h>
void main() {
    clock_t start = clock();
    // 例: ダミーのループ
    for (volatile int i = 0; i < 1000000; i++);
    clock_t end = clock();
    printf("経過時間: %.2f 秒\n", (double)(end - start) / CLOCKS_PER_SEC);
}

実行結果

経過時間: 0.00 秒

経過クロック数: 150 を変数から表示する

コード

clock_t t1 = clock();
// ここで処理を行う
clock_t t2 = clock();
printf("経過クロック数: %ld\n", (long)(t2 - t1));
全文
#include <stdio.h>
#include <time.h>
void main() {
    clock_t t1 = clock();
    // 例: ダミーのループ
    for (volatile int i = 0; i < 1000000; i++);
    clock_t t2 = clock();
    printf("経過クロック数: %ld\n", (long)(t2 - t1));
}

実行結果

経過クロック数: 150
脚注
  1. クロック単位はCLOCKS_PER_SEC 定数で1秒あたりのクロック数に換算できる。 ↩︎

  2. 改行やタブなど、画面に表示されない制御文字のこと。 ↩︎

Discussion