gpt4 book ai didi

c - “continue"在此代码中如何工作?

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

while ( fgets(eqvline, 1024, eqvfile) != NULL ) {

eqvline[strlen(eqvline)-1] = '\0';

if (!strcmp (eqvline, "$SIGNALMAP")) {
start_store_mask = 1;
continue;
}

if (!strcmp (eqvline, "$SIGNALMAPEND")) {
_num_mask_pins = i;
sim_inform ( sim, "[vTPSim] Total of %d pins found in equivalent file.\n", _num_mask_pins);
//return;
start_store_mask = 0;
}
}

你能解释一下这段代码中的 continue; 实际上是如何工作的吗?当执行continue;时,代码跳转到哪里?再次比较读取新行的 eqvline ?那么什么时候会调用这段代码 if (!strcmp (eqvline, "$SIGNALMAPEND")) { 呢?

最佳答案

The continue statement passes control to the next iteration of the nearest enclosing do, for, or while statement in which it appears, bypassing any remaining statements in the do, for, or while statement body.

在您的代码中,执行 continue; 后,会立即检查 while 循环的条件。

如果条件满足,控制进入循环内部。第一

 eqvline[strlen(eqvline)-1] = '\0';

已执行。

然后,声明

 if (!strcmp (eqvline, "$SIGNALMAP"))

已执行。

关于c - “continue"在此代码中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17586231/

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