program:switch case 语句 & 函数声明要注意!!!
2018-01-11 18:25
399 查看
在网上有很多的资料上写着,default 这个语句的后面是不用加break语句的,其实是在switch 中的哪一个分支,后面都要加上break语句的,
switch case 语句执行顺序就是先执行case 语句,等到case 语句全部执行完了,他在执行default 语句最后的结束条件是break语句
但是由于一般的写法下,default 后面就是switch 的括号,所以,在default 后面加一个break意义不太大,这样有的人才说,default 后面的break 是加不加都行
在switch (num)中的num 是有范围的,只能是字符,短整,长整,整形。。。
进入case 之后会在他的下面执行的语句,什么才是一个语句,
什么是一个变量的声明,语句包含一个变量的声明么?
标号只能是语句的一部分,而声明并非语法
在网上有人认为这样就是出现了,在case 中定义了变量,出现的问题,只要在case中加入括号就可以把这个错误解决掉,而且他还认为由于switch中的case语句在同一个作用域,(因为case语句只是一个标签,他们共属于一个switch语句块),所以如果在某个case下声明了变量的话,其他的case语句也能看到,这样的话就可能导致错误,例如,在一段代码中的case 1 后面还有一个case2的话,且case 2中使用了case 1定义的变量的话,那么如果运行时,n = 2,swich 直接条转到case 2 内部,这样就出现了 i 还没有初始化的事情了,(变量在声明实在编译阶段,而变量的赋值则在运行时),如果能运行的话,则在case 2中,i没有是一个未知的值,所以编译其直接避免这种事情发生,就让其编译无法通过。
在实验中出现如下的警告信息:
warning: #1295-D: Deprecated declaration KEY_
4000
Scan - give arg types
查询了一下,就是说:
deprecated declaration即不赞成的声明方式,
这样的申明是错误的。
我们应该换一个方式来对我们的函数进行申明。
这个原因主要是:
realview mdk(也就是常用的Keil)不占成参数是空的,空的的时候必须写明void
解释的很合理,如下:
“void test()”会报warning,而“void test(void)”不会
因而我们在申明是应该采取的是后者!空的时候应该写明void!!!
相关文章推荐
- switch语句中在case块里声明变量会遇到提示“Expected expression before..."的问题
- 关于case语句中声明变量并初始化的注意事项
- 注意Switch case 语句,case中的条件必须是constant value
- switch-case 语句的优点和几点注意事项 Java
- switch-case 语句的优点和几点注意事项 Java
- switch-case 语句的优点和几点注意事项 Java
- ? 枚举 编程题#2:拨钟问题(Coursera 程序设计与算法 专项课程4;函数memcpy的用法,switch case break 语句!)
- switch…case语句注意事项
- switch case 语句要注意!!!
- 注意Switch case 语句,case中的条件必须是constant value
- switch语句case内声明对象
- switch语句中在case块里声明变量会遇到提示“Expected expression before..."的问题
- 第七章 函数(part3) return 语句 & 函数声明
- Java switch-case 语句的优点和几点注意事项
- 在switch中的case语句中声明变量
- 在switch中的case语句中声明变量编译出错的解决方案
- switch case default 语句的的使用以及注意事项
- 在switch中的case语句中声明变量编译出错的解决方案
- Lua里的"switch-case"语句
- 8.5 switch...case语句注意问题