极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12478|回复: 7

switch语句中,case后面怎么做才能检测字符?

[复制链接]
发表于 2015-4-20 16:29:43 | 显示全部楼层 |阅读模式
本帖最后由 血阳 于 2015-4-22 00:17 编辑

     我编写程序想实现的功能是当我键盘按下某个键的时候,板子会做出相应的反应,但是我好想在编译的时候就出现了问题,报错是“case label ''w'' not within a switch statement
    求大神指导,在switch里面,怎么用才能检测字符?
下面是我程序中,该报错地方相应代码,其他地方没问题就不粘贴了,里面forward  ,back……这些都是函数,有声明了的。就想问问我的这个问题怎么解决。

      char comtemp;
      switch(comtemp);
      {  
        case 'w':
                forward(250);
                break;
        case 's':
                back(250);
                break;
        case'a':
                turnLeftOrigin(250);
                break;
        case'd':
                turnRightOrigin(250);
                break;
        case'q':
                turnLeft(250);
                break;
        case'e':
                turnRight(250);
                break;
        case't':
                _stop();
                break;
        default:
                _stop();
                break;
      }
    }
回复

使用道具 举报

发表于 2015-4-20 17:03:52 | 显示全部楼层
你把字母换成对应的asc码值,试一试应该能行的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-20 17:35:13 | 显示全部楼层
毛驴 发表于 2015-4-20 17:03
你把字母换成对应的asc码值,试一试应该能行的

有道理~我试试~
回复 支持 反对

使用道具 举报

发表于 2015-4-20 17:41:14 | 显示全部楼层
switch(comtemp);——去掉分号
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-20 18:29:54 | 显示全部楼层
ofourme 发表于 2015-4-20 17:41
switch(comtemp);——去掉分号

{:3_51:}囧囧囧··············竟然没发现·············谢谢提醒~
回复 支持 反对

使用道具 举报

发表于 2015-4-21 12:06:14 | 显示全部楼层
血阳 发表于 2015-4-20 17:35
有道理~我试试~

没道理 !

你的问题只是如楼下说的多写一个分号 ;
任何时候'A' 就是 65, 'B' 就是 66
所以
  int gg = 'A';

  int gg = 65;
这两句是完全相同的;
switch( ) { case 的 case 虽然规定是 int,
可是 char 也是一种 int,
所以为了方便人阅读, 不应该换为 ASCII 值来写,
直接写像 case 'A':  case 'B':   case 'w':  比较好 !
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-21 23:42:34 | 显示全部楼层
tsaiwn 发表于 2015-4-21 12:06
没道理 !

你的问题只是如楼下说的多写一个分号 ;

是的。也发现了{:3_54:}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-21 23:43:04 | 显示全部楼层
tsaiwn 发表于 2015-4-21 12:06
没道理 !

你的问题只是如楼下说的多写一个分号 ;

好仔细的解释~~谢谢啦~(づ ̄3 ̄)づ╭❤~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 08:26 , Processed in 0.044302 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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