首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >switch语句中的if语句?

问switch语句中的if语句?
EN

Stack Overflow用户
提问于 2012-02-26 00:59:50
回答 1查看 109关注 0票数 0

我很难理解为什么有一种方法可以工作,而另一种方法不能。

我有;

代码语言:javascript
复制
switch (key)
        {
            //If Game over Label is visible, enable the m and e buttons
            if(mGameOverLabel->GetVisible())
            {
                case 'm': case 'M':
                    ResetScreen();
                    break;

                case 'e': case 'E':
                //  //Exit the game
                    Stop();
                    break;
            } else {

                case ' ':
                    mSpaceship->Shoot();
                    break;

                default:
                    break;
            }

对于m和e的情况,即使mGameOverLabel在当前时间被设置为false,我仍然可以按M和e,它们将根据方法做出反应,但是如果我将其更改为M,那么它将只在我需要它的时候才起作用。我是不是错过了什么?!

代码语言:javascript
复制
switch (key)
        {
            //If Game over Label is visible, enable the m and e buttons

            case 'm': case 'M':
                if(mGameOverLabel->GetVisible()) ResetScreen();
                break;
            }   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-26 01:01:29

switch基本上对适当的case标签执行goto。将不会执行case之上的任何逻辑。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9446053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档