先上第一段代码:

#include

int main(int argc, const char * argv[]) {

int a = 0;

switch (a) {

int b = 17;

case 0:

printf("%d\n",a);

break;

case 1:

printf("%d\n",a);

break;

default:

printf("%d\n",a);

break;

}

return 0;

}

运行后,结果如下图1:

可见该种方式定义变量的语句不会被执行。

定义位置换个地方后,代码如下:

#include

int main(int argc, const char * argv[]) {

int a = 0;

switch (a) {

case 0:

int b = 17;

printf("%d\n",a);

break;

case 1:

printf("%d\n",a);

break;

default:

printf("%d\n",a);

break;

}

return 0;

}

运行结果报错,报错信息如下图2:

我们再加上一个大括号,代码入下:

#include

int main(int argc, const char * argv[]) {

int a = 0;

switch (a) {

case 0:

{

int b = 17;

printf("%d\n",a);

break;

}

case 1:

printf("%d\n",a);

break;

default:

printf("%d\n",a);

break;

}

return 0;

}

这下没问题了,当然啦!这个变量b只能够在大括号内使用了哟!

可见switch语句里是可以定义变量的,就是要一个括号咯。

更新...

c语言switch中文版,C语言 switch语句小陷阱相关推荐

  1. c#语言swith的用法,C# switch 语句 | Microsoft Docs

    switch(C# 参考) 04/09/2019 本文内容 本文介绍 switch 语句. 有关 switch 表达式(在 C# 8.0 中引入)的信息,请参阅 表达式和运算符部分中有关 switch ...

  2. C语言 | C语言中的switch语句以及循环语句(入门版本)

    ================================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:h ...

  3. c#语言switch+case用法,C# switch case语句

    C# switch case 语句也是条件语句的一种,与上一节介绍的<C# if else语句>是类似的,但在判断条件的选择上会有一些局限性. 具体的语法形式如下. switch(表达式) ...

  4. switch最大选项数目_随时随地学习C语言之3—if和switch哪个效率高?

    之前学习C语言的时候,我经常有一个疑问,既然有if-else if-else结构的多分支选择语句,C语言为何还要制定switch这种多分支选择语句呢?直到两年前在分析ARM平台C语言反汇编代码的时候, ...

  5. c语言里面你不知道的break与switch,contiune的用法

    前言:最近上完课在宿舍闲来无事,就拿起了C Primer Plus 这本书看,是自己入门编程的第一门语言:看了一些基本语法知识点,最让我需要总一下的是就是标题所说的这个语法知识点,记得大一的时候去考计 ...

  6. c语言中switch结构,switch结构c语言

    C语言中switch结构的使用 用switch结构编制程序,输入1个学生的C语言课程考试成绩(百分制整形数因为case后面不能接范围,也就是说case后面是一个确实固定的常量.用下面的方法比较好, # ...

  7. c语言switch和break用法,c语言里面你不知道的break与switch,contiune的用法

    前言:最近上完课在宿舍闲来无事,就拿起了C Primer Plus 这本书看,是自己入门编程的第一门语言:看了一些基本语法知识点,最让我需要总一下的是就是标题所说的这个语法知识点,记得大一的时候去考计 ...

  8. switch if c语言效率,switch与ifelse的效率问题

    switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的.从而,swi ...

  9. golang语言学习第三课 条件语句

    if 是一个条件语句.if 语句的语法为: if condition { } 与其他语言不同, 其他语言 if后面有()括号,但是go语言是没有的. if 语句后面可以接可选的 else if 和 e ...

最新文章

  1. 激光雷达与相机—哪种更适合自动驾驶?
  2. Ubuntu 强制删除文件夹(非空)
  3. 设计模式之访问者模式、例子分析
  4. Linux下Oracle 10.2.0.1升级到10.2.0.4总结
  5. 数字三角形:顺推法(一维数组)
  6. 巡检水中机器人_物联卡的应用,管廊隧道巡检机器人“上岗”啦!
  7. 标记三维点_便携式3D扫描仪全自动三坐标测量机三维扫描设计扫描测量摄影
  8. 学习构造函数、拷贝构造函数、析构函数和重载运算符
  9. php基础--变量及作用域
  10. 计算机u盘管理软件,电脑U盘管理工具、计算机U盘管理软件、U盘控制软件的使用.doc...
  11. php做seo优化,php做seo优化能力有哪些
  12. 《Adobe Premiere Pro CS4经典教程》——复习
  13. java校验特殊字符_java中文及特殊字符的校验方法
  14. 拉丁超立方抽样 Latin hypercube sampling,java 代码
  15. java 新功能_最新的Java版本101有什么新功能?
  16. Davinci DM6446开发攻略——DSP开发工程建立
  17. 常用的数据库统计SQL语句
  18. 手机199开头的号码的正则验证
  19. 数据预处理概述和数据清洗
  20. SpringBoot - 集成Swagger、Knif4j接口文档以及文档添加账号密码登录

热门文章

  1. 医学图像 .nii文件格式详解
  2. Linux下C语言UDP协议通信实践
  3. 百度输入法下载|百度拼音输入法下载
  4. 链路层数据帧格式总结
  5. 25 个漂亮的体育运动网站的设计
  6. 中国制造2025——开篇随笔
  7. pytorch LSTM的股价预测
  8. GUI编程(java)
  9. 3.GoolgeProtoBuffer序列化反序列化
  10. 英汉词典c语言报告程序,C语言电子英汉词典程序设计报告-自动化1203-李煜明.docx...