我正在尝试在 C++ 中实现一个“计时器”功能,以便程序在几秒钟后执行某些操作。然而,我得到了意想不到的结果。
short e, sum;
clock_t start;
double duration=0;
for (e=0; e<4; e++) {
start = clock();
while (duration < 1) {
duration = (clock() - start)/(double)CLOCKS_PER_SEC;
}
cout << duration;
duration = 0;
sum += e;
/* Calculate EPOCH error */
cout << e;
}
cout << "\n" << e<< "\n";
我期望的结果是:
- 每秒控制台输出,后跟 e (0,1,2,3)
- 在执行结束时,我希望总和为 0+1+2+3 = 6,
获得的结果:
- 控制台输出后跟 e,在执行完成时全部放在一起
- 总和 = 6
我发现不确定的是,为什么程序会在执行完成之前打印到控制台,而不是像预期的那样每秒打印一次?
干杯,