嵌套在for循环中的switch指令不起作用

Dae*_*ter -1 c++ for-loop switch-statement

我是一名c ++自学者,我正在经历这种奇怪的行为.

#include <iostream>
using namespace std;
int main () {
    for (int i=0;i<3;i++) {
        switch(i) {
            case '0' : // do something
                cout << "A" << endl;
            case '1' : // do something else
                cout << "B" << endl;
            // no default set
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有了这个MWE,为什么不执行switch语句?在我的机器上,用g ++和cmake编译,我看到控制台上没有打印charachter.

谢谢你的帮助!

Xir*_*ema 7

您的switch语句字符代码转换'0','1'等等,当它要上的切换号码 0,1等等.

此外,您需要break在每个部分的末尾添加语句,否则每个语句case都会流入下一部分.

switch(i) {
    case 0 : // do something
        cout << "A" << endl;
        break;
    case 1 : // do something else
        cout << "B" << endl;
        break;
    // no default set
}
Run Code Online (Sandbox Code Playgroud)