尛善领主 发表于 2020-11-20 13:00:08

关于select的奇技淫巧

本帖最后由 尛善领主 于 2020-11-20 18:51 编辑

Hello!这一次我自己将开启一个新系列-----关于C语言的奇技淫巧(doge)
此系列需要一定基础,慎重观看


目前为止到blog发布前(20号)学C不到5天。
如果有错误请见谅 .


此系列blog非经允许禁止转载!!!
(自己可能会转载到另外的论坛)
(首发会在fishc上)

关于C的select case在定义上只能使用常量,但仍然有一种方法可以改为使用变量
这么做的好处是什么?
①select case的语句本身就比if更加强大,是一种附加了goto的if语句。
②更加美观,直观上更容易阅读
缺点
①处理麻烦
②如果用到goto的性质不易阅读
③只涉及两个分支还是建议用if,如果多个分支建议用select
方法
利用条件表达式,将一整个变化量变成离散量
比如
(伪代码)
输入a
cat=(a>50) +2*(a>0 &&a<=50)+3*(a<=0)
select (cat)
case 1
    a>50时的操作
case 2
    a在0~50的操作
case 3
    a<=0的操作


虽然说这种跳转性的语句会破坏结构,但我觉得也未必不可以使用
这样子可以一目了然的解决,
代码简洁阅读方便




页: [1]
查看完整版本: 关于select的奇技淫巧