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. 从Delphi到Lazarus——安装最新版的Lazarus

    0.前言 在这篇文章里将会介绍以下内容: 下载最新版的Lazarus安装程序 安装Lazarus 安装整合IDE界面的软件包 编译运行你的第一个测试程序 结束语 1.下载最新版的Lazarus安装程序 ...

  2. AlainConfig

    核心配置对象. 一个配置对象 AlainConfig, 它有一个默认的 一个配置服务:AlainConfigService https://github.com/ng-alain/delon/blob ...

  3. 【信号与系统】求使系统稳定的常数K的范围

  4. Qt音视频开发37-识别鼠标按下像素坐标

    一.前言 在和视频交互过程中,用户一般需要在显示视频的通道上点击对应的区域,弹出对应的操作按钮,将当前点击的区域或者绘制的多边形区域坐标或者坐标点集合,发送出去,通知其他设备进行处理.比如识别到很多人 ...

  5. Qt编写安防视频监控系统43-图片回放

    一.前言 之前就已经具备了本地回放.远程回放.设备播放3个模块,其中本地回放用来回放存储在软件本地电脑上的视频文件:远程回放需要通过调用厂家sdk或者GB28181(没实现,后期考虑增加)从NVR回放 ...

  6. WIN10删除文件时提示“找不到该项目,该项目不在......中,请确认该项目的位置,然后重试”的解决办法

    问题描述: 最近有部分WIN10用户在删除文件时提示"找不到该项目,该项目不在......中,请确认该项目的位置,然后重试". 解决办法: 1.首先新建一个TXT文档(为了方便使用 ...

  7. [转]OpenCV使用之-----BruteForceMatcher无法使用

    最近Opencv升级比较快,从2.4.0到2.4.1到2.4.2,使得我这个还在使用2.3.1的人很不好意思,而且听说新版本里添加了tbb并行功能,急着想用这些功能的我赶紧下了2.4.2. 按部就班的 ...

  8. C#HTTP网络编程的一般流程

    1.同步HTTP网络要求 //第1步: 送出要求 string url="https://www.baidu.com/"; HttpWebRequest request = (Ht ...

  9. 阿里IM技术分享(八):深度解密钉钉即时消息服务DTIM的技术设计

    本文引用自InfoQ社区"5亿用户如何高效沟通?钉钉首次对外揭秘即时消息服务DTIM"一文,作者陈万红等.策划褚杏娟,有修订和改动. 一.引言 本文是国内企业IM的事实王者钉钉首次 ...

  10. 开源flux适配昇腾NPU分享,体验120亿参数AI文生图模型

    这一期我们分享一位开源开发者参与flux适配昇腾NPU的实践经验,欢迎广大开发者对华为技术栈适配进行讨论. 开源适配实践 flux是一个AI图像生成模型,有120亿参数量,具有大量的用户基础,可以根据 ...