我可以在C ++中的if语句中使用switch case的大小写

时间:2016-12-08 08:08:15

标签: c++

#include <iostream>
using namespace std;

int main() {
    int a=2,b=2;
    switch(a){
    case 1:
        cout<<"A"<<endl;
        if(b==5){
            case 2:
                cout<<"A"<<endl;
        }
    case 3:
        cout<<"A"<<endl;
    }
    return 0;
}

无法理解此代码如何输出2&#34; A&#34; s,如何将if语句置于案例之外

2 个答案:

答案 0 :(得分:3)

您在任何地方都没有break,因此当点击case 2时,它会落到case 3并打印第二个A.

如果你在每种情况下都使用了不同的输出,那就更明显了。

是的,语法允许你将case放在if,就像允许duff's device编译一样。

答案 1 :(得分:0)

由于您未提供'A'语句,因此输出2 break