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")) {
被调用? 最佳答案
continue语句将控制权传递给
最近出现的do,for或while陈述,
绕过do,for或while语句中的所有其余语句
身体。
在您的代码中,执行continue;
后,将立即检查while循环的条件。
如果满足条件,则控制进入循环内部。第一
eqvline[strlen(eqvline)-1] = '\0';
被执行。
然后,声明
if (!strcmp (eqvline, "$SIGNALMAP"))
被执行。