社区
C++ 语言
帖子详情
switch 语句在程序中使用有没有限制,他与goto有联系吗
camlee0131203
2006-06-27 10:28:42
同标题
...全文
494
18
打赏
收藏
switch 语句在程序中使用有没有限制,他与goto有联系吗
同标题
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
取义
2006-06-28
打赏
举报
回复
GOTO 用起来特爽,给别人看的时候特不爽,要是程序大了维护起来更不爽!
程序是客户的,自己爽了客户不爽!
那你就为了一爽而失去了多爽!
爱我的人请呼吸
2006-06-28
打赏
举报
回复
bird1982 (90)、 crazy_lazy_pig (10)、
楼主有倒分的嫌疑哦
linanlucky
2006-06-28
打赏
举报
回复
国内大的软件公司好象都在自己的编码规范中禁止使用goto语句,日本客户也不提倡。
yuyuan830705
2006-06-27
打赏
举报
回复
同意楼上的。
比如 在把错误进行处理时,适合用goto的。
如
FuncA
{
if ( err1)
goto err_end1;
:
if ( err2)
goto err_end2;
:
if ( err3)
goto err_end3;
:
return TRUE;
err_end3:
...
err_end2:
...
err_end1:
...
return FALSE;
crazy_lazy_pig
2006-06-27
打赏
举报
回复
什么叫联系呢? 编程语言都是相互联系的, 一个语言里的两个语句更是紧密相连的. 不知道楼主指的是哪方面的联系?
而对于goto语句的使用, 我有不同的看法. 教学时老师总是说避免使用goto, 为什么要用"避免"二字? 我对此很反感. 一定要用"避免"的话, 我希望加上个前提, 就是说 "在不适合用goto时, 避免使用goto". 但是, 这样一加前提, 那么其他语句也一样, 于是有了"在不适合使用循环的时候, 避免使用循环", "在不适合使用分支的时候, 避免使用分支".
唉, 为什么非要把语句分个三六九等呢? 语言是灵活的, 合适用就用, 我们应该学会灵活机动, 而不是硬搬教条. 其实goto在和多时候会使程序更清晰更短, 效率更高.
BaiYangSpirit
2006-06-27
打赏
举报
回复
switch与goto没有直接联系,也很少联系起来使用.
switch经常与break, default使用
OOPhaisky
2006-06-27
打赏
举报
回复
goto和switch应该没有具体的联系吧,但是建议少用goto,否则程序的可读性很差。
至于“switch是否会影响程序效率”问题,也没有定论,任何语句如果你使用不当都可能造成性能下降。
rollor_phoe
2006-06-27
打赏
举报
回复
goto和switch没什么联系!
goto用多了会造成程序不太好控制,建议不到特别需要的时候,不要用goto语句,用循环代替即可!
用循环同样能达到目的,而且条理清晰!
pappGG
2006-06-27
打赏
举报
回复
那么 过多的使用会不会造成效率问题呀
比如 while中再嵌套switch
================================================
影响效率的主要因素是算法
while中再嵌套switch是很常见的
goto一般还是不要使用
camlee0131203
2006-06-27
打赏
举报
回复
那么 过多的使用会不会造成效率问题呀
比如 while中再嵌套switch
nchang
2006-06-27
打赏
举报
回复
switch(i)
{
case 1:
break;
case 2:
break;
default:
}
其实我的理解switch是一种变异的if-else,上面的switch语句完全可以转化为if-else形式哈:
if(i==1)
{
}
else if(i==2)
{
}
else
{
}
但是,你可以看出,这种写法没有switch来的条理清洗吧,而对你的问题,试想对if-else的使用有限制吗?没有吧,所以只要可以对条件使用case(好像就是常量(字符或数字)的判断吧),就可以使用switch^_^
而goto是每每我想使的时候,都忍住放弃,宁可多些两行代码也避免使用的东西@_@
hamimelon
2006-06-27
打赏
举报
回复
switch 语句在程序中使用没有限制,
他与goto没有联系
xyq1986
2006-06-27
打赏
举报
回复
switch没有限制吧,goto争议很大,建议还是不要随便使用goto
healer_kx
2006-06-27
打赏
举报
回复
轻易不用GOTO,这会让我想起BASIC。
bird1982
2006-06-27
打赏
举报
回复
事实上,没有直接的联系,不过,我写的时候还是比较喜欢在switch里面加goto,有种指哪打哪得感觉,比较爽的说~~
别人总说goto不好控制,不过我还是觉得用goto方便~
chenhu_doc
2006-06-27
打赏
举报
回复
比较保守吧?
chenhu_doc
2006-06-27
打赏
举报
回复
少用为好,除非我要用50行代码来取代一个goto!
lddLinan
2006-06-27
打赏
举报
回复
可避免使用goto地方就要避免,能不用就不用。
不过,如果你自己一个人写写程序玩,那就随便了。
至于switch的效率,编译器有很多优化的选择
1。当case很少的时候,展开为if else
2。展开成类似goto的语法。(没有人需要维护编译器产生的代码)
...等等
Visual Studio Code
使用
ESLint 增强代码风格检查 - gyzhao - 博客园
核心竞争力,怎么才能提高呢?成年人想要改变生活,逆转状态?那就开始学习吧~万事开头难,但是
程序
员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。
Visual Studio Code
使用
ESLint 增强代码风格检查
前言 在团队协作开发
中
,为了统一代码风格,避免一些低级错误,应该设有团队成员统一遵守的编码规范。很多语言都提供了Lint工具来实现这样的功能,JavaScript也有类似的工具:ESLint。除了可以集成到构建工具
中
(如:Gulp)在构建过程
中
检查代码风格以外;还可以通过将ESLint和代码编辑器相结合以提供代码风格的实时校验。这里将介绍如何在Visual Studio Code
使用
ESLint来...
VSCODE Vue插件
1.Auto Close Tag——自动闭合尾部的标签 2.Atuo Rename Tag——修改 html 标签 自动帮你完成头部和尾部闭合标签的同步修改 3.Bracket Pair Colorizer——用于颜色匹配括号 4.Chinese (Simplified)Language Pack for Visual Studio Code——汉化VsCode 5.Code Spell Checker——代码拼写检查器 一个与camelCase代码配合良好的基本拼写检查
程序
。 此拼写检查
程序
的目标是帮助捕
VSCode小插件
VSCode 插件 推荐一些好的东西,待补充,我暂时只能用到这些 Chinese (Simplified) Language Pack for Visual Studio Code ESLint Prettier - Code formatter EditorConfig for VS Code Bracket Pair Colorizer Vetur JavaScript (ES6) code snippets Auto Rename Tag IntelliSense for CSS class na
vscode 实用插件
Chinese (Simplified) Language Pack for Visual Studio Code 设置
中
文显示 open in browser 从浏览器
中
查看html文件,
使用
系统的当前默认浏览器 One Dark Pro 设置vscode的颜色,这个颜色比默认的黑色更淡,对眼睛没有那么的刺眼 Auto Close Tag 自动补全html标签 Auto Import 自动导入包插件 Auto Rename Tag 重命名一个HTML / XML标签时,自动重命名配..
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章