C 多重嵌套 if 是否有简单处理方法

2020-01-15 19:24发布

本帖最后由 ajfan 于 2017-7-8 18:23 编辑

请教大牛关于C编程思路的

通过uart 接收到的6位字符串(前5位用于功能定义,第6位为参数,非固定),不同的组合定义了不同的指向功能,用普通的if 语句 先判断第一位,然后在判断语句里再嵌套5个if 确定最终的字符串(然后根据这个字符串指向对应的功能模块,第6位作为参数也一起送过去),问题来了,除了5重嵌套 if 语句外,是否有其他的方式可以进行优化的指向?用switch并将所有的组合放在case里将会有32 个选项,不怎么想用。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
27条回答
ldx24511
1楼-- · 2020-01-19 11:10
switch(a)
{
case 1 :
{
break;
}
case 2:
{
break;
}
default:
{
break;
}
}
xqn2012
2楼-- · 2020-01-19 13:46
我一直是多个if,没出过问题
zxq6
3楼-- · 2020-01-19 18:55
嗯,建立一个特征字符串和处理函数指针的数组,然后,处理只需要一个for即可。效率不怎么好,但是方便维护。可读性也非常不错。

一周热门 更多>