代码A:
if ()
...
else {
if (cond == 1)
/* do something */
}
代码B:
if ()
...
else if (cond == 1)
/* do something */
代码A和代码B之间是否存在差异?
最佳答案
只有一个潜在的差异,通过稍微扩展的示例代码就可以看出
(请原谅故意误导性的缩进,这正是您在这种情况下需要记住的问题):
if ()
...
else {
if (cond == 1)
do_something(); /* executed on !1st and 2nd condition */
do_somthing_else(); /* executed on !1st but unaffecated by 2nd condition */
}
if ()
...
else if (cond == 1)
do_something(); /* executed on !1st and 2nd condition */
do_something_else(); /* ALWAYS executed */
关于c - else if 和 else {if} 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65504255/