switch(data)  
                      {  
                        case   1:  
                                    return   1;  
                                    break;//break就没有意义了!  
                        case   2:  
                                    return   2;  
                                    break;  
                        case   3:  
                                    return   3;  
                                    break;  
                        }  
------解决思路---------------------- 
return是直接结束当前函数返回  

break是直接结束当前循环返回  

exit是直接结束当前程序返回  

呵呵 当然是没有执行case啦  
------解决思路---------------------- 
如果你把return写在main函数里面, 那么就相当于程序执行完毕了  
如果是别的函数, 就返回调用函数那个地方

switch块中,breake和return都可以起到结束当前switch语句的作用。
函数一旦遇到 return 语句就立即返回,后面的所有语句都不会被执行到了。return 语句还有强制结束函数执行的作用。

区别在于:
break只是退出当前switch块,不影响switch语句之后其他代码的执行。
return结束该函数,无论switch块之后是否有其他代码需要执行。

结论:在只有switch的函数中,return在中断效果上和break是一致的

warning C291: not every exit path returns a value 在switch分支中使用return的更多相关文章

  1. C++中的return和exit区别

    在main函数中,return和exit经常混用,两者的一个区别:return会执行statck unwinding,而exit不会.如果触发了信号,exit也同样不会做stack unwinding ...

  2. oracle 存储过程循环体中的return和exit区别:

    oracle 存储过程循环体中的return和exit区别:   (1) return 跳出整个循环,终止该循环, 后面的不再执行.     相当于 Java 中的break;   (2)  exit ...

  3. Poj The xor-longest Path 经典题 Trie求n个数中任意两个异或最大值

    Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5646   Accepted: 1226 Description In an ...

  4. C/C++中的return和exit

    return:只是退出函数;  ~是关键字. exit:是退出进程; ~是函数名. 整理自:https://www.cnblogs.com/cxchanpin/p/6927025.html

  5. return 与 exit() 的区别

    return是一个关键字,返回函数值:exit()是一个函数: return是语言级的:exit()是操作系统提供的函数: return表示函数退出:exit()表示进程退出: 非主函数中调用retu ...

  6. C++ exit 与 return 浅析

    [摘要] 本文从代码形式.经常使用方式,相关概念,调用关系和比較分析,这5个维度浅析 exit 与 return 在C++的同样点与差别. [常见形式] exit(0):   正常执行程序并退出程序. ...

  7. python中的commands模块,执行出错:'{' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    最近发现了python的commands模块,查看了下源码,使用的popen封装的,形成三个函数getstatus(), getoutput(), getstatusoutput() 源码如下: de ...

  8. C++main函数与命令行参数,退出程序

    本文翻译自:https://docs.microsoft.com/en-us/cpp/cpp/main-function-command-line-args?view=vs-2019 (除动态链接库d ...

  9. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(1)用户注册

    上一次把基本框架搭建起来了,这次开始整Web部分,终于可以看到界面了小激动一下.web项目部分从用户功能开始,基本有注册,登录.注销.查找.查看.删除等涉及Member区域和Manage区域. 目录: ...

  10. TCP/IP 网络编程 (三)

    server端未处理高并发请求通常採用例如以下方式: 多进程:通过创建多个进程提供服务 多路复用:通过捆绑并统一管理 I/O 对象提供服务 多线程:通过生成和客户端等量的线程提供服务 多进程serve ...

随机推荐

  1. 聊一下怎么十分钟速水CVE

    题目是真的.今天晚上刚接触关于CVE的审计和提交.只能说:牛逼的是真牛逼,水的是真水. 我接下来教你,怎么在10分钟里找到一个CVE的中危漏洞并且提交.然后你就可以去咸鱼接单了,一个一铂快 打开htt ...

  2. 关于com组件的方法,以AE的IFieldsEdit为例

    今天,有小伙伴问我,为什么在调用IFieldsEdit接口时,VS无法自动显示出AddFiled方法,而这个方法是确实存在的 在此,做下解答,因为这个方法被隐藏了.TypeLibFunc属性,被用来指 ...

  3. QPushButton长度固定,不随文字变化

    QPushButton不随text长度变化 设置SizePolicy中的水平策略 没有设置为 忽略

  4. django视图层与cbv源码分析

    目录 一.视图层之必会三板斧 二.JsonResponse对象 两种序列化数据的方式 方式一:使用json模块 方式二:使用JsonResponse对象 使用JsonResponse对象序列化除字典外 ...

  5. 【C#】【报错解决】找不到请求的Net Framework Data ProVider。可能没有安装。

    如题报错截图如上,解决方法如下 第一步:找到[引用]中的MySql.Data中的版本号 第二步,在Web.config中添加如下配置 <system.data> <DbProvide ...

  6. 完美解决idea2020一直indexing,无法操作的问题

    hello,大家好,2021年的第一篇文章,希望疫情早日过去,大家早日恢复正常生活. 今天主要分享一下在使用idea 2020.3版本开发maven项目的时候,一直出现有效件index, 有时候是sc ...

  7. Qt编写视频监控系统79-四种界面导航栏的设计

    一.前言 最初视频监控系统按照二级菜单的设计思路,顶部标题栏一级菜单,左侧对应二级菜单,最初采用图片在上面,文字在下面的按钮方式展示,随着功能的增加,二级菜单越来越多,如果都是这个图文上下排列的按钮, ...

  8. Qt音视频开发34-不同库版本不同位数的库和头文件的引用

    一.前言 做开发过程中难免遇到需要引入第三方库的时候,而且需要在不同库版本.不同系统.不同位数下都需要.第三方的库版本众多,一般在大版本中的小版本都是兼容的,但是大版本不兼容,比如ffmpeg目前就有 ...

  9. C#中使用ping命令测试远程主机网络通信是否正常

    说明,使用ping工具 1.可以用来查询域名是否可以访问 2.可以用来查询域名对应的ip地址 如果远程服务器允许ping命令的前提下. 解决思路:主要使用了C#提供的Ping类,效率比较高,相应快 程 ...

  10. 揭秘vivo百亿级厂商消息推送平台的高可用技术实践

    本文由vivo 互联网服务器团队Yu Quan分享,本文收录时有内容修订和重新排版. 1.引言 如今,Android端的即时通讯IM这类应用想实现离线消息推送,难度越来越大(详见<Android ...