C语言中,select...case和 if...else if 哪个执行效率更高

如题
2024-12-04 10:24:24
推荐回答(3个)
回答1:

没有select case
只有switch case

1、 总体上说,switch...case 效率要高于同样条件下的if...else,特别是当条件分支较多时。

2、switch...case占用较多的代码空间,因为它要生成跳表,特别是当case常量分布范围很大但实际有效值又比较少的情况,switch...case的空间利用率将变得很低。例如上面的代码,如果把case 10改成case 100,则会生成101个表项,而大部分表项是指向同一分支(default分支)。switch...case是在以空间换时间。

3、switch...case只能处理case为常量的情况,对非常量的情况是无能为力的。例如 if (a > 1 && a < 100),是无法使用switch...case来处理的。

转自CSDN博客

回答2:

从执行效率上来说,合理配置if语句,执行效率可以更高。但是case语句的程序可读性更好。
(select case ... 是VB的语句,C语言中是switch case ...)

回答3:

switch...case 效率要高于同样条件下的if...else,执行速度前者高。