gpt4 book ai didi

c - 仅在第一次迭代时执行

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

我在纯嵌入式c中面临一个问题,这与我的逻辑有关。存在变量文本。我正在使用

在一处清除它
text = NULL;

但是当第一次执行到这个地方时,这段代码也必须只执行一次。

请建议我实现除使用标志变量之外的最佳逻辑

最佳答案

完全没有上下文,以下是实现此目的的方法。但根据情况可能有更好的方法。

为了在进程的生命周期中只执行一次特定的代码,我通常使用这样的构造。

static int first_time = 1; // create and initiallize to 1
if (first_time) // equal to first_time != 0
{
text = NULL;
first_time = 0;
}

这将创建一个具有静态存储持续时间的变量,该变量在第一次到达代码时初始化为1。从那时起,该变量就出现在相应的函数中(它不会在函数结束时被删除),并且该值仅在正常赋值时发生变化。除第一次调用之外的所有调用中都将跳过初始化,因为变量已经存在。

这样你就可以检查代码的某个部分是否被执行。

有关更多信息,请参阅this

关于c - 仅在第一次迭代时执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50838379/

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