学习C语言的if-else语句的过程中,很多初学的小伙伴会很容易的犯下一个常见的错误,那就是:
对else语句的使用不够熟练,转而用多个if语句来替代
情景引入:比较两个整数的大小
有小伙伴写的代码是这样的,乍一看,完全没有问题,但是细细看你会发现这个程序有漏洞:
如果a = b,那么输出的结果是max = 0,这显然不符合正常的逻辑!
那么为什么会导致这个问题的出现呢?
原因就在于:
多个if语句的并行使用!
我们在看来一个用多个if语句并行使用的例子所产生的危害:
如果输入的x值为95,那么程序从上往下执行时,遇到语句if(x > 9){·······}会执行,遇到if(x > 0){······}时也会执行,这就导致输出的n为1!
因此,else语句巧妙地解决的这个问题
我们可以把else语句理解为if语句的反面:
如:if语句的条件为x > 9,那么else语句的条件就是x <= 9(而不是x < 9)
因此在以后写程序的过程中,要尽量避免使用多个if语句并行的情况,以免减少不必要的差错!