• C语言中的if与else if


    今天发现一个比较不理解的代码,是关于else if这个判断语句的代码。代码如下

    #include<stdio.h>
    
    int a = 2;
    
    int main(void)
    {
        if(a == 1)
        {
            printf("执行的是if(a == 1)
    ");
        }
        else if(a != 0)
        {
            printf("执行的是else if(a != 0)
    ");
        }
        
        return 0;
    }

    看着很简单的样子,其实细看会发现,当a = 1的时候满足的是第一个条件if(a == 1),但是同时也满足else if(a != 0)这个条件,程序是否会同时执行两个程序块里面的内容呢?经过测试当a = 1的时候,打印出来的也只会是printf("执行的是if(a == 1) ");也就是说是第一个程序块里面的内容被执行了,第二个程序块里面的else if(a != 0)虽然也是满足条件的但是没有被执行。这说明在这个if ()———else if()这个结构里面,只会执行其中的一个。如果第一个判断里面的成立了,那么即使else if()里面的判断内容也成立了,也是不会被执行的。

  • 相关阅读:
    ubuntu系统安装初始化脚本
    21_多线程
    20_IO
    19_异常
    18_集合
    17_内部类和常用类
    16_接口
    15_abstract,static,final
    14_面向对象
    13_数组
  • 原文地址:https://www.cnblogs.com/xing-ting/p/10290845.html
Copyright © 2020-2023  润新知