zoukankan      html  css  js  c++  java
  • 多重if else和switch case的区别

    int main(void)
    {
    	int id;
    	scanf_s("%d",&id);
    
    	switch(id)
    	{ 
    		case 2:
    			printf("John
    ");
    			break;
    		case 13:
    			printf("Mary
    ");
    			break;
    		case 16 :
    			printf("Amy
    ");
    			break;
    		default :
    			printf("not found");
    			break;
    	}
    
    
    	return 1;
    }
    

      

    switch case 当case是某个值的时候会直接把流程执行到那里,只进行一次判断。

    而多重else if,else if的层次越深,需要判断的次数就越深。如果判断条件是比较复杂的,那么就会影响性能。

    就上面那个switch case 用else if也能实现

    int main(void)
    {
    	int id;
    	scanf_s("%d",&id);
    
    	if (id == 2)
    	{
    		printf("John");
    	}
    	else if(id==13){
    	
    		printf("Mary");
    	}
    	else if (id == 16)
    	{
    		printf("Amy");
    	}
    	else
    	{
    		printf("not found");
    	}
    
    	return 1;
    }
    

      

    如果用户输入的是0,那么需要经过id是否等于2这个判断,id是否等于13这个判断,id是否等于16这个判断,一共三个判断。

    每次判断都是要耗费性能的,else if的层次越深 耗费的性能就越多。

  • 相关阅读:
    Code review
    一点心得
    有关双向追踪性的一点感觉
    测试用例分析的一点心得
    js简单的抽屉菜单
    新的感受
    linux的VPS如何分区
    PHP中Unicode转码和解码的实现
    xampp安装及配置
    js Unicode编码转换
  • 原文地址:https://www.cnblogs.com/yfish/p/9781467.html
Copyright © 2011-2022 走看看