c语言学习笔记 多级else if 和switch case有什么区别
2024-08-22 12:42:43
int option=; if(option ==) { dosth(); } else if(option==) { dosth2(); } else if(opion==) { dosth3(); } else dosth4();
如果给option的一个值是2的话,那么程序会判断option是否等于0 ,再判断option是否等于1 最后再判断option等于2,多执行了两个判断,当然了,如果直接把option==3的判断放在最前面,那么就执行一次判断就可以了。
int option=;
switch(option){
case 0:
dosth1();
break;
case 1:
dosth2();
break;
case 2:
dosth3();
break;
default:
dosth4();
break;
}
把多级elseif改成switch case的话,程序执行的时候就没有判断了,直接就到了option==2的代码处了,可能耗费更少的CPU,更环保了。
其实有点类似于 从数组中找是否存在某个数一样,一般的算法是分别取得数组中的一个数和待定的数比较,而稍微高级点的办法是用了索引或者hash,直接就找到了,速度更快。
最新文章
- CodeForces - 696B Puzzles
- 大图居中,以1920px为例
- 在GridView隐藏字段
- 【BZOJ 1492】【NOI 2007】货币兑换Cash
- [Effective JavaScript 笔记]第49条:数组迭代要优先使用for循环而不是for...in循环
- Qt实现停靠功能
- DBCP--";";连接池创建";与";资源关闭";Util类
- libConfuse的使用
- (原+转)简明 Python 教程:总结
- --@ui-router--登录页通过路由跳转到内页的demo
- UVW代码漫谈(一)
- 201521123085《Java程序设计》第4周学习总结
- zsh fg: no job control in this shell.
- java基础编程练习
- Linux profile1,bashrc,.bash_profile,.bash_login,.profile,.bashrc,.bash_logout浅析 Part1
- Python 操作 Excel,总有一个模块适合自己
- innerText 与textContent区别
- [GIt] 团队工作效率分析工具gitstats
- DELPHI纤程的演示
- JDK之集合乱序源码分析