switch中的continue与break
看到一篇博客,很有意思,一起学习一下:https://blog.csdn.net/aerkate/article/details/7630600
首先贴上代码:
/**
* Copyright(c)
* All rights reserved.
* Date : 2021-07-31
* Description :
*/
#include <iostream>
using namespace std;
int main()
{
int i,s1=0,s2=0,s3=0;
for(i=1;i<=5;i++)
{
cout<<"i :"<<i<<'\n';
cout<<'\n';
switch(i)
{
case 1:s1++;
case 2:s2++;break; //中止当前switch
case 3:s3++;continue; //直接到i++
}
s1++;
cout<<"s1:"<<s1<<'\t'<<"s2:"<<s2<<'\t'<<"s3:"<<s3<<'\n';
cout<<'\n';
}
}
执行顺序:(什么时候判断i<=5)
i = 1;
cout<<i;
switch(1) case 1: s1++;
s1++;
cout<<s1<<s2<<s3;
i = 2;
cout<<i;
switch(2) case 2: s2++; break;
执行s1++;
i = 3;
cout<<i;
switch(3) case 3:s3++;continue;
i++ (此时i = 4)
cout<<i;
switch(4) 无可用case分支
s1++;
cout<<s1<<s2<<s3;
i=5;
cout<<i;
switch(5) 无可用case分支
s1++;
cout<<s1<<s1<<s3;
i=6(不满足for循环条件,跳出for循环)
End!
关键在于:
- break用于while、do while、for、switch中
- continue用于while、do while、for中
- “只有当switch语句嵌套在迭代语句内部时,才能在switch里使用continue”《C++ Primer 5th Edition》