在执行 c 中的下一行代码之前调用的函数是否完成

does a called function complete before executing next line of code in c

在 c 中调用一个函数时(为 arduino 编程),该函数会在执行原始函数中的下一行代码之前完成吗?

查看下面示例中的评论:

void loop()
{  
    duration = random(750, 1500);
    advertise("111", duration); // <-- will this function fully complete
    int delayDuration = random (300,500); // <--before executing this line of code?
    delay(delayDuration);
}

是的。 thread 中的代码执行顺序发生。被调用函数应该 return 并且执行将从调用函数中的下一条语句继续。

这完全取决于 delay 的实施。

如果它是同步的,正如人们所期望的那样,那么对 delay 的调用将有效地 "pause" 您的函数大约 delayDuration 时间单位(通常是毫秒)。

delayDuration 的初始化可能 在调用 advertise 之前完成,但 advertise 将在调用 delay 之前完成,它将在 loop 退出之前完成。