gpt4 book ai didi

c操作耗时0秒

转载 作者:行者123 更新时间:2023-11-30 18:22:13 25 4
gpt4 key购买 nike

我正在尝试测量串行程序反转数组所需的时间。我的代码:

#include <time.h>

int main() {
int n = 100000;
int c, d, a[n], b[n];
clock_t start, end;

for (c = 0; c < n ; c++)
a[c] = c;

start = clock();

for (c = n - 1, d = 0; c >= 0; c--, d++)
b[d] = a[c];

end = clock();
printf("Number of seconds: %f\n", (end-start)/(double)CLOCKS_PER_SEC );

return 0;
}

但是,它总是需要 0.000000 秒才能运行。为什么?如果我增加 n,就会出现段错误。

最佳答案

尝试多次迭代:

#include <time.h>

int main() {
int n = 100000;
int c, d, a[n], b[n];
clock_t start, end;
start = clock();
for(int i =0; i< 100000000;i++) {
for (c = 0; c < n ; c++)
a[c] = c;
for (c = n - 1, d = 0; c >= 0; c--, d++)
b[d] = a[c];
}
end = clock();
printf("Number of seconds: %f\n", (end-start)/(double)CLOCKS_PER_SEC/100000000 );
return 0;
}

但最好读一下:C++ clock stays zero

关于c操作耗时0秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27756127/

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