C语言常见问题(11):a label can only be part of a statement and a declaration is not a statement
a label can only be part of a statement and a declaration is not a statement 【 标签只能是语句的一部分,而声明不是语句】
由于switch的几个case语句在同一个作用域(因为case 语句只是标签,它们共属于一个swtich语句块),所以如果在某个case下面声明变量的话,对象的作用域是在俩个花括号之间 也就是整个switch语句,其他的case语句也能看到,这样的话就可能导致错误。我们可以通过在case后面的语句加上大括号处理,之所以加大括号就是为了明确我们声明的变量的作用域,就是仅仅在本case之中,其实为了更规范的写switch-case语句,我们应该在case语句后边加大括号。
两种解决办法:
方法1:在case下面的语句全部用{ }括起来;
case MiddleAlgoCmd_BLE_PAIR_ACTION:
{
uint8_t *sendData;
sendData = rec_msg.data;
ROBOT_LOG_INFO("########cmd MiddleAlgoCmd_BLE_PAIR_ACTION#####\r\n");
ROBOT_LOG_INFO("########cmd MiddleAlgoCmd_BLE_PAIR_ACTION rec_msg.data_len=%d\r\n", rec_msg.data_len);
ROBOT_LOG_INFO("########cmd MiddleAlgoCmd_BLE_PAIR_ACTION type=%d\r\n", ((char *)rec_msg.data)[0]);
ROBOT_LOG_INFO("########cmd MiddleAlgoCmd_BLE_PAIR_ACTION type2=%d\r\n", sendData[0]);
packet_fun_set_cookie_sign_status(sendData[0], 0, 0); // 需要确认参数
break;
}
方法2:前面加个打印语句,就不是一开始就是声明,也能过;
最好的处理方式还是方法1.
C语言常见问题(11):a label can only be part of a statement and a declaration is not a statement相关推荐
- a label can only be part of a statement and a declaration is not a statement
今天在查阅u-boot代码时,发现一个奇怪的地方.记录下来,以备后续追溯. u-boot代码的main.c模块中,有一个cread_line函数,其中有一段话是这样的: case '\t':int n ...
- error: a label can only be part of a statement and a declaration is not a statement
GCC: error: a label can only be part of a statement and a declaration is not a statement switch(a){ ...
- 错误“a label can only be part of a statement and a declaration is not a statement”解决方法
之前写代码的时候用了一个goto语句,结果编译提示a label can only be part of a statement and a declaration is not a statemen ...
- C语言报错:a label can only be part of a statement and a declaration is not a statement
在写代码的时候,变量的声明不应该出现在label之后 比如switch语句中的case结构也可能会遇到类似的问题. 在case标签下面定义了变量,则会报错. 对此问题的分析: 由于switch的几个c ...
- 《C语言常见问题集》 -- 摘录和C学习资源(部分已下载)
1. 书源 获<C语言常见问题集>源自bjbs_270博文"分享C语言常见问题集".下载此书后觉得此书中讲的许多问题值得一观,加上有时间的便利便决定将其通看一篇.我将& ...
- c语言实验11答案,c语言实验9-11参考答案
c语言实验9-11参考答案 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 数组 上机题9.编写程序:从键盘输入一串整数保存到数组中, ...
- 华北水利水电C 语言实验11,华北水利水电大学C语言实验11.doc
华北水利水电大学C语言实验11 C语言程序设计实验报告 实验11.结构体程序设计 班级 2013156 学号 201315613 姓名 吴浩 [实验目的] (1)掌握结构体类型的概念.定义和使用: ( ...
- 主成分分析,充分图,聚类,主成分回归——数据分析与R语言 Lecture 11
主成分分析,充分图,聚类,主成分回归--数据分析与R语言 Lecture 11 主成分分析 例子:求相关矩阵特征值 例子:求主成分载荷 例子:画碎石图确定主成分 例子:主成分得分-相当于predict ...
- c语言while根据近似公式求,c语言用π=1-1/3+1/5-1/7+.公式求π的近似值,直到最后一项的绝对值小于10^-6为止...
题目: c语言用π=1-1/3+1/5-1/7+.公式求π的近似值,直到最后一项的绝对值小于10^-6为止 我编的程序 #include #include void main() {int i; fl ...
最新文章
- 远程登录linux进程的状态_Linux实操篇 - 远程登录到Linux系统
- IromPython .Net 的简介和第一个例子
- [20181015]为什么是3秒.txt
- 刷新后 页面 保持滚动条位置
- mysql grant教程_MySQL如何使用授权命令grant
- Kenai.com 将与 java.net 合并
- 最佳途径 | 容器规模化落地如何四步走?
- Git基础操作及常见命令——详解
- Pycharm配置Anaconda
- 为什么要使用Mybatis框架?JDBC的缺点有哪些?
- 每日10行代码173:测试下yafu的质因数分解能力
- 移动周刊第 176 期:Android 知识梳理
- Mac下Idea安装插件后不能启动的问题
- Si24R1超低功耗高性能2.4G无线收发器芯片
- 华为2019软件精英挑战赛-CodeCraft-2019大佬开源代码集合
- 未知地区的探索与猜想
- linux系统文件名颜色含义
- php zip压缩包下载
- obd协议 混动车_OBD协议介绍
- flash插件+linux,Linux下的flash插件