今天看开源代码的时候看到一段代码有如下的结构。开源代码块太长,于是写了一个测试程序测试了一下这种用法的作用,在此做个记录。
while(true){
switch(){
case:
...
}
}
while(true)和switch的结合使用实现某种或某集中情况下的循环执行,如下:
void test(int a)
{
int b=0;
while(true)
{
switch(a)
{
case 1: cout<<"1"<<endl;return;
case 2: cout<<"2"<<endl;return;
case 3: cout<<"3"<<endl;b++;
case 4:
if(b==5)
{
cout<<"4"<<endl;return;
}else{
break;
}
default:cout<<"default"<<endl;return;
}
}
}
int main()
{
test(3);
return 0;
}
执行结果:
在case为3的这种情况,一定要满足一个b=5的条件,才能跳出循环,否则一直执行。