if语句的一个编译器只报warning的错误记录,其实已经是bug了,但是没报错,一直不怎么看warning,今天无意间看到了,记录一下,直接上代码了。
分析:
if()语句后多了个";"号,相当于把if(){}语句割裂了,
变成了
if();
{};
这样括弧里的代码就一直被执行了。if判据相当于没生效。
其实已经破坏了if语句的语法结构了,多个else的话,编译就会报错 了。就很容易查出来了。
所以建议大家写if语句还是能加else尽量加上吧,不然出了这个错,很容易遗漏,要不是看了warning,都发现不了这个错误。。。。。。