我的问题是关于我在主题中提到的行,我可以在生产代码的许多地方看到它.
总体代码如下所示:
if (0) {
// Empty braces
} else if (some_fn_call()) {
// actual code
} else if (some_other_fn_call()) {
// another actual code
...
} else {
// default case
}
其他分支与我的问题无关.我想知道在这里放if (0)
是什么意思.大括号是空的,所以我不认为它应该注释某些代码块.它是迫使编译器进行一些优化,还是它的意图不同?
我曾试图在某某和互联网上搜索这个明确的 case ,但没有成功.关于JavaScript也有类似的问题,但不是C.还有一个问题,What happens when a zero is assigned in an `if` condition?,但它讨论了变量的零赋值,而不是"if(0)"用法本身.