zoukankan      html  css  js  c++  java
  • 关于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比较好理解,这里不再赘述。

    人生如逆旅,我亦是行人
  • 相关阅读:
    WebSphere--安全性
    WebSphere--会话跟踪
    WebSphere--用户简要表
    WebSphere--连接管理器
    WebSphere--部署Servlet
    WebSphere--定制配置
    WebSphere--安装与配置
    WebSphere--基本特性
    六、Html头部和元信息
    五、Html表单标签
  • 原文地址:https://www.cnblogs.com/sz2003/p/14045200.html
Copyright © 2011-2022 走看看