找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于switch语句使用,提示表达式不合法。求指导

查看数: 6777 | 评论数: 14 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-6-28 14:49

正文摘要:

请大神看看这段代码问题在哪里呢? switch(key_mode) { case 0:        //        _nop_; //        _nop_; if(!key_add) Vset1++; if(! ...

回复

ID:417297 发表于 2018-10-29 15:45
如果需要在case里定义变量要加{}
ID:415459 发表于 2018-10-29 14:51
看出错原因说是switc的表达式类型不对,也就是key-mode,你可以定位到出错行,170行
ID:279667 发表于 2018-10-29 14:30
注意switch括号中的数据类型,还有case条件句的执行代码,需要使用大括号括起来或者使用TAB键进行缩进
ID:417213 发表于 2018-10-29 13:43

说实话  我也没见过 switch 语句 像你这么写的
ID:417206 发表于 2018-10-29 13:33
问题出在key_mode上,不过里面至少每个加上括号以及default
ID:213173 发表于 2018-10-29 12:31
key_mode的数据类型改为unsigned char型,不可以使用bit型。
ID:400814 发表于 2018-10-29 09:50
电脑出错,我碰到过怎么弄都不行。复制编译通过的别的程序中的大括号就行了。
ID:51883 发表于 2013-7-15 21:14
说实话  我也没见过 switch 语句 像你这么写的
ID:48241 发表于 2013-7-11 16:08
key_mode是什么数据类型?
ID:51564 发表于 2013-7-9 20:37
加入default及break后呢?、Tset定义为什么?、
ID:51381 发表于 2013-6-29 18:23
我也是这个毛病啊!  不好用
ID:51325 发表于 2013-6-29 10:43
ahshmj 发表于 2013-6-28 20:35
要使用大括号。
case 0:        
{ //        _nop_;

我加入大括号还是提示相同的问题啊
这是什么原因呢?
ID:51325 发表于 2013-6-29 10:43
好像不行啊
我加入了大括号还是不行啊。怎么回事呢
ID:7485 发表于 2013-6-28 20:35
本帖最后由 ahshmj 于 2013-6-28 20:37 编辑

要使用大括号。
case 0:        
{ //        _nop_;
//        _nop_;

if(!key_add)
Vset1++;
if(!key_sub)
Vset1--;

Iset=(float)Vset1/1000;
break;

}

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表