教科书都会说switch只能用于整型变量,于是c语言中很显然int, short, long, enum, char(包括无符号类型和long long)都可以作为switch变量,而float,double,struct,union显然不可以,那指针可不可以呢? 指针本质上就是一个无符号整数,根据定义应该是可以的,但在c语言中是非法的!即int i = 0; int *j = &i; switch(j){}是非法的(至少gcc是非法).

java中同样有switch语法,如果我们照般c语言的,很显然可接受的类型为int, byte, short, enum, char, long。我们觉得理应就是这样的,以至于我们不需要再作任何解释。可是当我们声明了一个long类型的变量,却发现我们怎么也编译不过去!是的,java的switch不支持long类型,这我也不理解这其中的缘由。那对象是否支持呢?也许你会很果断的回答,不支持,因为它不是整型,更确切的说不是int类型!可是事实并非如此,其实也不难理解,由于Integer, Byte等具有自动拆箱功能,因此可以作为switch变量也就不足为奇了。 好了,感觉所有的问题都解决了。但在java7中,switch变量可以传递String对象,这是java7中新增的特性。于是我是否可以作个这样的假定,switch可以传递任何对象,类似System.out.println函数,会自动调用对象的toString()方法呢? 事实上不可以,这样做是合理的。

c语言float可以作为switch,switch可接受的变量数据类型相关推荐

  1. switch case 支持的 6 种数据类型

    转载自  switch case 支持的 6 种数据类型 那么今天就讲一下 Java 中的 switch case 语句吧,有忘记的同学正好可以温习一下. Java 中 switch case 语句用 ...

  2. C++:在switch的case中定义变量的问题

    C++:在switch的case中定义变量的问题 问题描述: 平常写代码过程中常会遇到在switch-case中定义局部变量(如下面的示例中的"case ECOLOR_RED 代码1中定义的 ...

  3. C语言float有效位数为7位?

    扣扣技术交流群:460189483 首先我们应该明确一点:C语言中,%f表示保留7位有效数字7位有效数字: 是指 整数部分 和小数部分一共7位 谭浩强的c语言,里面讲float型变量只能接受7位有效数 ...

  4. C语言float精解

    目录 是什么? 为什么? 怎么用? 是什么? 1,"float"是C语言中的关键字: 2,"float"词语解释是:声明单精度浮点型变量或函数返回值类型: 单精 ...

  5. c语言自定义浮点函数,C语言float

    C语言float教程 C语言float定义详解 语法 float varname = value; 参数 参数 描述 float 定义 float 类型变量使用的类型. varname 变量名. va ...

  6. c语言 float 精度,C语言float的精度为什么是6~7位

    C语言浮点数标准 计算机中浮点数采用的是IEEE 754标准.浮点数分为单精度浮点数(32位)和双精度浮点数(64位).浮点数的基本格式如下: sign:符号位,0表示正,1表示负 exponent: ...

  7. c语言double型小数点后几位_c语言float类型小数点后有几位有效数字?_后端开发...

    #define和printf是不是c语句?_后端开发 #define和printf都不是c语句,因为C语言的语句用来向计算机系统发出操作指令,一个语句经编译后产生若干条机器指令,C语句都是用来完成一定 ...

  8. 我的Go+语言初体验——(7)Go+ 分数型有理数数据类型

    我的Go+语言初体验--(7)Go+ 分数型有理数数据类型 "我的Go+语言初体验" | 征文活动进行中- 更多内容,请参阅: 我的Go+语言初体验--(7)Go+ 分数型有理数数 ...

  9. JAVA语言规范 JAVA SE 8 - 类型、值和变量

    JAVA语言规范 JAVA SE 8 - 类型.值和变量 类型和值的种类 简单类型和值 整数类型和值 整数操作 浮点数类型.格式和值 浮点数操作 boolean类型和布尔值 引用类型和值 对象 Obj ...

最新文章

  1. 拦截器获取请求参数post_「SpringBoot WEB 系列」RestTemplate 之自定义请求头
  2. python开机自动运行_python 设置开机启动脚本
  3. 根据屏幕分辨率获取css,根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码...
  4. Direct3D 11.1新特性曝光
  5. 小数加分数怎样计算讲解_“分数,小数,百分数 的互化”我这样教学,学生很快就学会了。...
  6. android mysql代码_LitePal——Android数据库框架完整使用手册(示例代码)
  7. [导入]C#做的一个加密/解密的类
  8. 铁路联网售票系统 按计算机应用,铁路联网售票系统按计算机应用的分类它属于...
  9. 下载Googleearth地图作为底图显示曝光点
  10. 虚拟机有网,主机没有网
  11. 浏览器下载的excel文件损坏无法打开
  12. ERP管理系统开发设计现有源码
  13. 【论文笔记】Catching Both Gray and Black Swans: Open-set Supervised Anomaly Detection*
  14. mysql的英文文献_mysql数据库英文文献.doc
  15. 超详细的CentOS7.4下载与图文安装
  16. Android中Activity、Window、ViewRootImpl与子线程更新UI
  17. 实训二十八:交换机 DHCP Snooping 的配置
  18. 李进良丁守谦论道4G:决不应三国纷争
  19. 计算机输入法设计大赛,搜狗输入法皮肤设计大赛获奖作品
  20. 阿里云服务器是什么,可以用来干嘛?

热门文章

  1. 无公网IP搞定群晖+ZEROTIER ONE实现内网穿透
  2. [CAD二次开发]获取CAD内3D块参照的欧拉旋转角,Matrix3d矩阵转欧拉角。
  3. Mybatis-plus进阶之分布式id生成
  4. 【VBA学习问题】Excel2016无法保存宏文件的解决办法
  5. “2017CIO时代走进系列:走进蓝月亮”活动圆满结束
  6. 免费申请6位QQ及其它骗术的真相(转自 黑客基地)
  7. 如何更新开源版来客电商代码?
  8. Clos Network 与 Leaf Spine 架构
  9. 【目标检测】【DDPM】DiffusionDet:用于检测的概率扩散模型
  10. 消灭人狼 - 软件企业的银弹是什么