从默认情况重定向到switch语句

时间:2015-03-20 15:28:46

标签: c switch-statement

我不知道我在这里错了什么。也许是一个概念或两个概念。即使我在用户输入除A,S,D或W以外的任何密钥时尝试将我的默认情况重定向到switch语句,我的代码也会在while循环内继续执行。编写的代码如下:

while(<condition>)
{
    char ch;
    switch(ch=getch())
    {
        case 'W' : case 'w' :
            ..event
            break;
        case 'S' : case 's' :
            ..event
            break;
        case 'A' : case 'a' :
            ..event
            break;
        case 'D' : case 'd' :
            ..event
            break;
        default :
            continue;
    }
   ...actions here with the condition in while using
}

2 个答案:

答案 0 :(得分:0)

如果每次有值(W | S | A | D)时处理一个事件,那么你不希望在每个事件之前放置一个continue(W | S | A | D)休息?

我认为,完成上述操作后,default将为空,以保持您当前的操作结构,如果没有与您的匹配(W | S | A | D)。

答案 1 :(得分:0)

感谢所有评论,发现问题是break语句包含在switch语句的default块中,这是不继续操作的原因。