博观而约取,厚积而薄发。这篇文章主要讲述关于if与else的错误使用相关的知识,希望能为你提供帮助。
当我们写出以下代码的时候:
调试的结果会出现2个错误,且都在else中:
为什么这样会报错呢,这就需要从if与else的匹配原则来说起了,下面是它们的匹配原则:
if-else语句中,if和else的配对原则都是在同一个复合语句括号“ ”作用域内就近配对的原则。 如果不属于同一个复合语句括号“ ”作用域内,则不会被配对,此时如果配对存在问题,会报语法错误。
也就是说,if后面的作用域必须紧贴着else才能够进行配对。
上面的代码是:if后面没有加大括号,使用只影响下一行代码,也就是第一个printf,而第二个printf则不在它的作用域中,这个时候,else没有匹配到if,所以就会报错。
?
下面是if与else的另一种错误的使用方法:
这段代码是可以执行的,但得出来的结果是什么也没有:
这也是if与else得匹配原则问题,上面说了,else是依据就近原则匹配if的,且else会匹配到最近的没有被匹配过的if,所以,这里的else会匹配到第二个else。
总结:当使用if-else语句时不能再它们的中间插入正常语句,否则会报错,建议用大括号把它们的作用域显现出来,这样比较直观。
【关于if与else的错误使用】
推荐阅读
- 学一门手艺,享受幸福生活
- #yyds干货盘点#web安全day46(使用Openvas+MSF理解漏扫方法利用及补丁修复)
- 站在面试官角度,看求职与内卷
- #yyds干货盘点#Alibaba中间件技术系列「RocketMQ技术专题」让我们一同来看看RocketMQ和Kafka索引设计
- Go 分布式令牌桶限流 + 兜底策略
- springBoot报错( MyBatis:check the manual that corresponds to your MySQL server version)
- 关于dart中的late关键字,你了解多少(#yyds干货盘点#)
- 华为策略路由应用案例
- #yyds干货盘点# 滴滴二面(Kafka是如何读写副本消息的())