gpt4 book ai didi

c - 使用 clock() 获取时间戳(Visual Studio 2010,C/C++)

转载 作者:行者123 更新时间:2023-12-02 07:43:12 28 4
gpt4 key购买 nike

好的,所以我尝试在 C 中实现 Collat​​z 问题,并记录/打印执行 while 循环所需的时间。我应该报告“滴答声”的数量和以秒为单位的时间。但是,我的代码中出现了一些看似简单的错误,但出于某种原因,我不确定如何更正它们。

这是我的代码

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

void main() {
int n, c = 0;
printf("Please enter an integer...\n");
scanf("%d", &n);
clock_t start; /* Line 8 */
clock_t finish; /* Line 9 */

start = clock();
while (n != 1) {
if (n%2 == 0)
n = n/2;
else
n = (3*n)+1;
c++;
printf("n=%d\n", n);
}
finish = clock() - start;
double interval = finish / (double)CLOCKS_PER_SEC;

printf("%d iterations\n", c);
printf("%f clock cycles", finish);
printf("%f seconds elapsed", interval);
}

这些是 Visual Studio 报告的错误

第 8 行和第 9 行错误

'clock_t':非法使用此类型作为表达式

语法错误:缺少“;”在标识符“开始”之前

'开始':未声明的标识符

对于出现“开始”或“完成”的所有行,我也收到“未声明的标识符”错误

最佳答案

Microsoft Visual C++ 不支持 C99 ,但较旧的 C 标准必须在每个 block 的顶部定义变量。因此,将您的代码更改为:

void main() {
int n, c = 0;
clock_t start;
clock_t finish;
printf("Please enter an integer...\n");
scanf("%d", &n);

关于c - 使用 clock() 获取时间戳(Visual Studio 2010,C/C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8979456/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com