1. 使用clock()
函数
实现步骤:
包含
<time.h>
头文件,并定义clock_t
类型的变量用于存储时间。在程序开始时调用
clock()
函数,记录开始时间。在程序结束时再次调用
clock()
函数,记录结束时间。计算结束时间和开始时间之差,并转换为秒。
示例代码:
c#include <stdio.h>#include <time.h>int main() { clock_t start, end; double cpu_time_used; start = clock(); // 模拟程序运行时间 for (long i = 0; i < 1000000000; i++); end = clock(); cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC; printf("程序运行时间:%f 秒\n", cpu_time_used); return 0;}
2. 使用time()
函数
实现步骤:
包含
<time.h>
头文件,并定义time_t
类型的变量用于存储时间。在程序开始时调用
time()
函数,记录开始时间。在程序结束时再次调用
time()
函数,记录结束时间。计算结束时间和开始时间之差,得出运行时间。
示例代码:
c#include <stdio.h>#include <time.h>int main() { time_t start, end; time(&start); // 模拟程序运行时间 for (long i = 0; i < 1000000000; i++); time(&end); printf("程序运行时间:%ld 秒\n", (long)difftime(end, start)); return 0;}
3. 使用gettimeofday()
函数
实现步骤:
包含
<sys/time.h>
头文件,并定义struct timeval
类型的变量用于存储时间。在程序开始时调用
gettimeofday()
函数,记录开始时间。在程序结束时再次调用
gettimeofday()
函数,记录结束时间。计算结束时间和开始时间之差,得出运行时间。
示例代码:
c#include <stdio.h>#include <sys/time.h>int main() { struct timeval start, end; long seconds, useconds; double total_time; gettimeofday(&start, NULL); // 模拟程序运行时间 for (long i = 0; i < 1000000000; i++); gettimeofday(&end, NULL); seconds = end.tv_sec - start.tv_sec; useconds = end.tv_usec - start.tv_usec; total_time = seconds + useconds / 1000000.0; printf("程序运行时间:%f 秒\n", total_time); return 0;}