一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: benli

[其他综合] 这种判断语句该怎么写

[复制链接]
发表于 2013-5-18 09:53 | 显示全部楼层
再说几句好了。
2楼方案,不要用Goto,把A、B、C写成函数,在goto的位置调用。

扩展部分:
如果这地方要求效率极高,可以考虑写成__inline函数,或者“宏函数“。减少调用及出入栈所需时间。
回复

使用道具 举报

 楼主| 发表于 2013-5-18 10:21 | 显示全部楼层

RE: 这种判断语句该怎么写

jimmy_xt 发表于 2013-5-18 09:53 static/image/common/back.gif
再说几句好了。
2楼方案,不要用Goto,把A、B、C写成函数,在goto的位置调用。

需要执行的只有几句程序,似乎不值得写成一个函数
回复

使用道具 举报

发表于 2013-5-18 11:17 | 显示全部楼层
switch(S){
case 1:
case 2:
case 3:
{语句1;……;语句n;break;}
case 6:
{语句1;……;语句n;break;}
default:
{语句1;……;语句n;break;}
}

不要使用goto语句,goto的缺点上面楼层说得好清楚。
回复

使用道具 举报

 楼主| 发表于 2013-5-18 12:05 | 显示全部楼层

RE: 这种判断语句该怎么写

chjj0 发表于 2013-5-18 11:17 static/image/common/back.gif
switch(S){
case 1:
case 2:

这样行不
case n:{括号里写要执行的语句}:
break:
回复

使用道具 举报

发表于 2013-5-18 12:26 | 显示全部楼层
benli 发表于 2013-5-18 12:05 static/image/common/back.gif
这样行不
case n:{括号里写要执行的语句}:
break:

case后面的语句不用加{},因为case是遇到break才退出,没有break会依次执行所有语句。

另外我之所以用goto,并不是说就非要用goto语句,只是说去执行ABC等,这个可能是我没有说明白吧。如果ABC等只是几条语句只要用分号隔开放到相应位置,如果ABC等是较复杂的程序段的话就要编写成函数然后调用了
回复

使用道具 举报

发表于 2013-5-18 13:38 | 显示全部楼层
楼主还是达芬奇画蛋吧。这年头,厨师都要洗两年碟子,踢足球的要擦两年足球,才准学艺。


case,不是所有语言都【没有break会依次执行所有语句】,
回复

使用道具 举报

发表于 2013-5-18 13:48 | 显示全部楼层
jimmy_xt 发表于 2013-5-18 09:53 static/image/common/back.gif
再说几句好了。
2楼方案,不要用Goto,把A、B、C写成函数,在goto的位置调用。

请教下 __inline函数 是怎么写法,非常感兴趣!!谢谢!!
回复

使用道具 举报

发表于 2013-5-18 14:23 | 显示全部楼层
tdc31224 发表于 2013-5-18 13:48 static/image/common/back.gif
请教下 __inline函数 是怎么写法,非常感兴趣!!谢谢!!

inline是个C99标准里增加的关键词(当然C++也有)。
“把inline置于函数声明之前,也就等于告诉编译程序要优化调用函数。这意味着函数的代码将在行内扩展,而不是被调用。”
不过需要注意的是
“inline暗示着尽可能快的调用函数,只是对编译程序的请求,并且可以被忽略。”
(当然你可以要求编译器强制开启inline功能“-forceinline”)

当然,以上的前提是,编译器支持C++或者支持C99标准。
回复

使用道具 举报

发表于 2013-5-18 14:35 | 显示全部楼层
学习了 我一直不怎么会用switch....case语句  今天学习了
回复

使用道具 举报

发表于 2013-5-18 14:56 | 显示全部楼层
狗狗百里游 发表于 2013-5-18 13:38 static/image/common/back.gif
楼主还是达芬奇画蛋吧。这年头,厨师都要洗两年碟子,踢足球的要擦两年足球,才准学艺。

又和pascal的case of 搞混了吧
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-19 06:14 , Processed in 0.032770 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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