c++关于switch语句
2014-11-16 14:28
232 查看
从百度知道看来的,以前真没注意这个
case后面的语句不需要加大括号,只要别忘了break就行。不过有的编程规范上会建议用大括号把case后面的语句括起来。 你说的“不能通过编译”,可能是下面这个原因。C/C++里规定,不能在case语句里定义局部变量。例如: int a = 2; switch (a) { case 1: int c = 10; break; case 2: break; default: break; } 编译就会出错,原因是在case 1里定义了局部变量c。 而C/C++还有一个很有意思的规定,用{}包括的语句,认为是一个”语句块“,而在语句块里就能想干什么就干什么。 比如: switch (a) { case 1: { int c = 10; break; } case 2: break; default: break; } 这样就能通过编译了。 再多说两句废话。C/C++里这个用{}括起来的语句块,可以认为是一段完全独立的代码。比如: int a = 2; { int a = 3; } 这样完全没问题。而你要是把这对大括号删掉,就会出错。
相关文章推荐
- 关于C/C++ switch语句你也许不知道的一些事
- 关于C/C++中switch语句case中变量不能初始化赋值的问题
- 关于switch语句-四则运算(c++)
- java中关于switch语句的知识
- c# 关于如何连接数据库的几种方法(switch语句中)
- 关于不用if,switch,?:语句判断两个数大小及其他
- 关于switch语句的case 嵌套
- 关于switch语句
- 【android乱七八糟】关于OnClickListener事件中加switch语句讨论
- 关于java中switch语句的问题
- 关于switch语句的进一步理解
- 更深入一点理解switch语句及c/c++对const的处理
- 关于C++的一些细节[四:循环,分支语句,关系表达式,关系运算符]
- 更深入一点理解 switch 语句 及 c/c++ 对 const 的处理
- C++ 第十二周报告4--《 运用switch语句 求存款利率 》
- 关于C#中switch语句的一点注意
- C# 笔记(六)--关于switch 语句
- 更深入一点理解 switch 语句 及 c/c++ 对 const 的处理
- 实验四第4题:关于switch...case分支语句的使用
- 更深入一点理解switch语句及c/c++对const的处理