找回密码
 注册
关于网站域名变更的通知
查看: 204|回复: 2
打印 上一主题 下一主题

请教一个C语言switch语句的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-2-22 13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
标准程序​
8 i1 p; X" h7 ^' M7 ]! q2 l0 Y! u' X4 J8 Q) d: c1 }( N3 p) d& Z
case 1:​0 {  j, `* B& ?/ J# e# x
a=1;​6 h5 }$ ^9 n3 j$ r2 j1 O: Z# g
b=0;​9 d5 m) q) d! A' J
c=10​. y' H$ R5 s1 i, \2 v% E
break;​: n- m0 p+ F6 ?: W6 ^8 o
0 W7 x" l. X# d( `1 r. _+ e' P% c
case 2:​
) L% v" g) o9 U/ s6 x$ da=0;​
$ g4 |) X8 N- _( R0 E$ A  y% ^b=1;​
& ^7 D5 @" n* a5 ^: Mc=10;​% @5 s2 J. `: s4 ^
break;​( l8 j+ B" O4 r, q5 p
1 y- ]! O# v  i4 `+ T: P. K
可见c=10是相同的 问题是 如何把相同的行只写一次 以前看过一位高人写过可我给忘了 而且 找不到那帖子了​
7 w9 ?+ T& Y1 g; _1 j9 b! t1 W0 Z& K. N4 j" b' V" J; y( W1 J- d' o* i' X
我合并了一下是下面这样 结果都不对 也许就不行吧 可有点不死心啊 求高人给鉴定​
( }. \- Z& y. c7 F, d
7 ]: Q! }) i' q1 Zcase 1:​% m6 z9 V0 f1 ^- I& I& a
a=1;​6 o* \4 B: P2 O$ ]
b=0;​9 L- K& ]8 _/ Q. [
2 {& ^, z7 N6 e! d: [% F
case 2:​& [) R( f- T& J. g$ _- P
a=0;​/ ?6 s" X6 L' S4 k
b=1;​3 b6 x! R7 T2 j: b
c=10;​
4 h/ ?4 S' {7 ~) q% m% h2 U
' n' m! r4 ^8 x  ^break;
2 Y, A; `; Z4 t  n) _: M9 A; P% |- v  W1 T

该用户从未签到

2#
发表于 2022-2-22 13:33 | 只看该作者

2 N- }, V$ _: y7 I% c' Tbreak不能少,c=10要不写在swtich外面,要不也不要少。

该用户从未签到

3#
发表于 2022-2-22 14:02 | 只看该作者
你的写法确实节约了程序的长度,但是运行时间反而变长了。贴出完整的switch代码,看看能优化到什么程度,你现在贴出来的代码如果是全部的话,在switch前面给c赋值就是最优解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 09:07 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表