#include
using namespace std;
int main()
{
int n;
for(n=1;n<=5;n++)
switch(n%5)
{case 0:cout<<n<<"@"<<endl;break;
case 1:cout<<n<<"#"<<endl;break;
default:cout<<n<<endl;
case 2:cout<<n<<"$"<<endl;
}
return 0;
}
为啥3和4那里会输出:
3
3$
4
4$
因为switch语句是顺序执行的,按照case和default语句的先后顺序执行,所以当 n%5等于3和4的时候,会执行default语句。
n%5等于3和4的时候,执行default,输出3或4的值,因为default后面没有break语句,继续执行case 2,输出3$或者4$
default后面的都会被执行。
case 2:cout<<n<<"$"<<endl;
这条语句会被认为是default分支内的语句。