你是否经常有switch来代替if else?是否因为使用了switch,提高代码的执行效率而庆幸?好吧,你和我一样,但也许你没有遇到下面的问题。
这个小程序,会输出什么呢?会是'00'么?

结果必然不会是 00 啊,否则怎么会写这篇文章呢?它的执行结果是 11。具体原因是:
switch case 接收$a 来进行判断,当接收到的$a为true值时才会进行下面的判断,而$a=0;类似于一个false,所以他会寻找一个false的入口,第一个的判断是正确的,第二条的判断返回的是false,所以会以第二条语句为入口,执行第二条语句。
返回的结果会是 11,直接执行第一case语句。
$a=0,switch判断后会认为是false,所以就跳过了第一个case语句,执行后面case语句。第二条后面有break语句,这就是为什么输出会是 11 了。但如果你这样进行判断,就会输出 00了。因为你指明了0时的入口case语句。

同理下面的段代码的输出你应该就明白了吧。它的输出会是 '22'

欢迎大家拍砖!

转载于:https://www.cnblogs.com/cheng6018/p/6675069.html

switch遇到0的问题相关推荐

  1. Android 4.0 Switch 控件用源代码实现

    最近项目需要,在4.0 以前的版本上实现一个android 4.0 上的Switch控件,上网找了些例子,都不尽如人意.自己动手,丰衣足食.于是便翻看源码,找到4.0源码中Switch实现的方法.照样 ...

  2. Android5.0如何正确启用isLoggable(二) 理分析

    转自:http://www.it165.net/pro/html/201506/43374.html 概要 在上文<Android 5.0 如何正确启用isLoggable(一)__使用详解&g ...

  3. php truepath,php – 为什么switch(true)具有比if()elseif()更小的NPath复杂度?

    我有这个功能负责将文件的名称和MIME类型转换为更多的"人"(例如file.png,image / png到[Image,PNG]).我发现有趣的是,if()elseif()语句的 ...

  4. PowerShell2.0之维护网络(一)查看网络设置

    本文将会介绍如何使用PowerShell管理网络,包括设置和TCP/IP堆栈有关的选项:通过不同脚本提供网络适配器的状态信息,网络适配器的连接状态及属性:设置静态IP.启动DHCP及配置DNS服务器: ...

  5. HEVC/H265 HM10.0 分析(二)TComDataCU.cpp

    以下分析TComDataCU.cpp.这个cpp是很重要的,要分几次分析完,这是分析TComDataCU.cpp(一). Void TComDataCU::getPartPosition( UInt ...

  6. C#中的Switch语句【C#】

    C#中的Switch语句 题目描述 编写一个控制台应用,实现以下功能:根据输入的字符,输出通过.不通过和输入成绩无效. (1)无论输入A.B.C.D,都输出通过: (2)输入E,则输出不通过: (3) ...

  7. Android OpenGLES2.0(十六)——3D模型贴图及光照处理(obj+mtl)

    转自:http://blog.csdn.net/junzia/article/details/58272305 在Android OpenGLES2.0(十四)--Obj格式3D模型加载中实现了Obj ...

  8. Android 应用开发(43)---开关按钮ToggleButton和开关Switch

    开关按钮ToggleButton和开关Switch 5.0以前的ToggleButton和Switch: 5.0版本: 1.核心属性讲解: 1)ToggleButton(开关按钮) 可供我们设置的属性 ...

  9. 透过IL看C# (1)——switch语句(上)

    透过IL看C# (1) switch语句(上) 原文地址:http://www.cnblogs.com/AndersLiu/archive/2008/11/03/csharp-via-il-switc ...

最新文章

  1. 高性能的MySQL(6)查询慢与重构查询
  2. 关​于​h​i​b​e​r​n​a​t​e​中​双​向​外​键​关​联​o​n​e​-​t​o​-​o​n​e​的​p​r​o​p​e​r​t​y​-​r​e​f​=​的​问​题(转)...
  3. 循环控制结构程序05 - 零基础入门学习C语言20
  4. python怎么限制输出精度_谈谈关于Python里面小数点精度控制的问题
  5. 专家谈个人用户保护自己网银安全
  6. 【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等
  7. SCN exercise navigation的实现原理
  8. MongoDB与Spring Data项目
  9. 一个八卦的AI,嗅到了你和TA之间基情满满
  10. 图像处理结果的度量 —— SNR、PSNR、SSIM
  11. android BaseAdapter多布局缓存
  12. android AChartEnginee讲解之源码框架解读
  13. 钉钉考勤报表生成工具
  14. Hook Android q 剪贴板限制,AndroidQ(10)获取剪切板内容适配
  15. CSDN博客导出chm格式文档
  16. 常用app URL schemes
  17. python+opencv制作电脑摄像头扫描二维码并自动打开
  18. 企业微信私聊安全吗?管理员看得到吗?
  19. 统计建模-多元线性回归预测房价
  20. [多图]输入法漏洞再现Windows 8 利用QQ拼音纯净版实现提权

热门文章

  1. 你关注黑客,我关注黑客思维!
  2. IIS突然启动不了,居然是Web迅雷倒的鬼!
  3. 河北省电子工程高级职称公示_2019年石家庄职称评审,电子工程通过名单!
  4. 14201771010119穷吉
  5. 生活沉思录 via 哲理小故事(一)
  6. c语言贪吃蛇游戏报告,贪吃蛇游戏c程序报告.docx
  7. Oracle View及dbms_metadata.get_ddl看对象生成的代码
  8. vue中import和require的用法
  9. 更听话的温室大棚系统-阿里云ioT Studio实现动态业务逻辑
  10. [课设]烟台大学课程表app