#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语句置于案例之外
答案 0 :(得分:3)
您在任何地方都没有break
,因此当点击case 2
时,它会落到case 3
并打印第二个A.
如果你在每种情况下都使用了不同的输出,那就更明显了。
是的,语法允许你将case放在if,就像允许duff's device编译一样。
答案 1 :(得分:0)
由于您未提供'A'
语句,因此输出2 break
。