• 关于if与else以及else if的一个注意点


    今天偶然发现的一个盲点:

    对于一个if语句,多个else if语句,只要第一个if条件成立,以下的else if语句或是else语句都不会再执行(不管满足或是不满足);

    而对于多个if语句,语句最后的else语句是会执行的(不管前面的if语句是否满足)else只会与最近的if相匹配。

    这里给出一段代码

    #include <stdio.h>
    int main()
    {
        int i=2;
        if(i!=1)  printf("0");
        if(i==1)  printf("0");
        else printf("0");
     } 

    按照我之前的想法,两个if条件符合第一个,肯定只会输出一个0,但是实际结果输出的是两个0。

    原因在于,else只会与最近的if匹配,也是与判断i==1的那个if匹配,如果这个if不成立,那么会打印一个0,而第一个if条件已经打印了一个0,故总共打印了2个0.

    else if比较好理解,这里不再赘述。

    人生如逆旅,我亦是行人
  • 相关阅读:
    异常
    抽象类
    java基础—接口3
    java基础—接口2
    java基础—接口1
    Android拍照适配方案
    继承—Car
    继承—矩形
    使用CSS和jQuery实现tab页
    纯CSS实现圆形进度条
  • 原文地址:https://www.cnblogs.com/sz2003/p/14045200.html
Copyright © 2020-2023  润新知