【发布时间】:2018-12-11 20:24:53
【问题描述】:
我正在尝试运行一小段代码 3 秒: 示例:
WHILE(3 SECONDS){
printf("Hey");
}
我尝试使用 time_t,计算一些时间直到达到极限,如下所示:
time_t endwait;
time_t atual = (unsigned int)time(NULL);
time_t duration = secs;
while(atual < endwait){
printf("Hey");
}
但它不起作用,程序卡在循环打印“嘿”。
【问题讨论】:
-
您可能想在循环内再次设置实际?这总是正确的,因为变量永远不会改变
-
初始化
endwait也是个好主意。 -
你在哪里设置 endwait 等于?看来您只是检查当前时间是否小于声明它时 endwait 中的任何值,因为您实际上从未给它赋值,因此 while 循环可能是未定义的行为,由于 endwait 开始时会永远循环