You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言如何实现每隔X秒重复执行指定代码?

实现方案

要实现每隔40秒重复输出重拳,核心是用**模运算(取余)**计算当前时间在重复周期中的偏移,替换原有的单次区间判断逻辑即可。

修改后代码

{
    real punch;
    real time = CURRENT_TIME;
    real tau = 40; // 重复出拳的间隔周期,单位秒
    // 计算当前时间在当前周期内的偏移量
    real cycle_offset = fmod(time, tau); 
    // 每个周期的前1秒输出5kg重拳(可根据实际需要调整窗口长度)
    if (cycle_offset <= 1) 
    {
        punch = 5;
    }
    else  
    {
        punch = 0;
    }
    return punch;
}

逻辑说明

  • 用fmod(浮点型取余函数)计算当前时间对周期tau取余的结果,得到的cycle_offset永远在[0, 40)区间内循环
  • 原代码只判断了第一个周期的条件,修改后每个周期都会触发一次判断
  • 示例中设置了1秒的出拳窗口,如果你需要出拳是瞬时触发,可以把判断条件改成cycle_offset < 0.1或者更小的阈值,匹配你代码的时间精度
  • 如果需要调整间隔周期,直接修改tau的数值即可

内容的提问来源于stack exchange,提问作者thevictorso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:15:04