0

我对 Netbeans 有疑问。这是我的代码:

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

 int main(){
  int i;
  clock_t start, finish;
  start = clock();
  for(i = 0; i < 10000000000; i++);
  finish = clock();
  printf("%f", (float)(finish-start)/CLOCKS_PER_SEC);
  return 0;
   }

当我在 Netbeans 8.1 上运行程序时,输出为 0.000000,但在 Dev C 上尝试时为 0.2100000。

4

1 回答 1

0

您的for循环很可能已被编译器优化掉,因为循环没有副作用(即不会以任何方式影响程序的其余部分)。

目前尚不清楚您想要实现什么。您想学习如何测量执行时间吗?usleep()然后使用对测量或测量sleep()之间的调用来while (clock() < XXX);延迟系统一段时间。或者你想了解特定算法的执行时间?然后将该算法放在代码中而不是虚拟for循环中。

于 2016-05-21T11:13:18.180 回答