在C++中if语句和case语句哪一个执行效率更高
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C++中if语句和case语句哪一个执行效率更高相关的知识,希望对你有一定的参考价值。
Case执行语句的效率高些,if语句的执行对系统的开销大些 参考技术A case 够直观,但执行效率不及if高。如果对运行速度有要求,建议使用IF,
否则,还是使用CASE,因为它够直观。 参考技术B 实际上case1啥也不干,但是由于case1后面没有break语句执行完case1会继续执行case2,直到遇到break语句,同理如果显示x,那就说明执行了case2因为case2后面没有break语句所以程序会执行case3和case4,直到遇到break,哪里还不明白可以hi我
为什么switch...case语句比if...else执行效率高
https://www.cnblogs.com/idorax/p/6275259.html
switch case 语句多的时候 编译器会将switch case 转为跳转表 (.rodata)
#include <stdio.h> static int foo_ifelse(char c) { if (c == ‘0‘ || c == ‘1‘) { c += 1; } else if (c == ‘a‘ || c == ‘b‘) { c += 2; } else if (c == ‘A‘ || c == ‘B‘) { c += 3; } else { c += 4; } return (c); } static int foo_switch(char c) { switch (c) { case ‘1‘: case ‘0‘: c += 1; break; case ‘b‘: case ‘a‘: c += 2; break; case ‘B‘: case ‘A‘: c += 3; break; default: c += 4; break; } return (c); } int main(int argc, char **argv) { int m1 = foo_ifelse(‘0‘); int m2 = foo_ifelse(‘1‘); int n1 = foo_switch(‘a‘); int n2 = foo_switch(‘b‘); (void) printf("%c %c %c %c ", m1, m2, n1, n2); return (0); }
以上是关于在C++中if语句和case语句哪一个执行效率更高的主要内容,如果未能解决你的问题,请参考以下文章
C语言中的条件赋值语句和if——else语句执行效率比较,哪一个效率高些,坐等高手解惑
switch 和 if else if else 有什么区别