switch语句中,如果有加break则运行到时会跳出switch语句,执行switch语句之后的语句;如果没加break则会去运行switch中后续的语句,比如运行到后续别的case中。 case只是个入口,如果没有break,会从入口处将后面所有的case全部执行一次。例如:
#include<iostream>
using namespace std;
int main()
{
int i = 0;
while(i < 3)
{
switch (i)
{
case 0:
cout << "i=0"<<endl;
case 1:
cout <<"i=1" << endl;
case 2:
cout << "i=2" << endl;
default:
cout << "default"<<endl;
}
i++;
}
}
输出:
i=0
i=1
i=2
default
i=1
i=2
default
i=2
default
在i=0时,执行了i=0的操作之后,程序还输出了之后的case对应的语句!