小编Zza*_*nka的帖子

if-else块中'if(0)'块的目的是什么?

我的问题是关于我在主题中提到的那条线,我可以在生产代码中的许多地方看到.

整体代码如下所示:

if (0) {
    // Empty braces
} else if (some_fn_call()) {
    // actual code
} else if (some_other_fn_call()) {
    // another actual code
    ...
} else {
    // default case
}
Run Code Online (Sandbox Code Playgroud)

其他分支与我的问题无关.我想知道放在if (0)这里的含义是什么.大括号是空的,所以我认为它不应该评论一些代码块.它会强制编译器进行一些优化还是意图不同?

我试图在SO和互联网上搜索这个明确的案例,但没有成功.关于JavaScript有类似的问题,但不是C.还有另一个问题,当在`if`条件中分配零时会发生什么?,但它讨论了对变量的零赋值,而不是'if(0)'用法本身.

c if-statement

140
推荐指数
11
解决办法
1万
查看次数

标签 统计

c ×1

if-statement ×1