#include<stdio.h>
int main()
{
int s=0,n;
for(n=0;n<3;n++)//这个循环说明要执行3次,n 从0开始到2共3次循环
{
switch(s)
{
case 0:
case 1:s+=1;
case 2:s+=2;break;
case 3:s+=3;
default:s+=4;
}
printf("%d,",s);
}
return 0;
}
循环体里边共两条语句,一条是多分支语句也就是switch,另一条是输出,当这两条都执行完认为循环体结束,执行n++,然后再判断条件,成立的话继续执行循环体。
循环体是这样执行的:先执行第一条语句多分支语句,然后是输出。
当n=0时,也就是第一次循环:s=0,找case 后跟0的,找到执行向下全部执行,所以执行s=s+1(这时s=1),和s=s+2(这时s=3),遇到break终止下边没有执行的语句跳出多分支语句,说明switch执行完了,然后输出s为3
当n=1:switch里边是3,找case 3,执行后s=6,再向下执行s=10;输出s为10
当n=2:switch里边是10,找case 10,没有的话找default,s=14,输出s为14
switch( 表达式)//这个地方不能加分号,表达式必须是字符型或整型
{ case E1 : 语句组 1; //case 与E1(即常量)之间用空格分隔
case E2 : 语句组 2;// case后的常量不能相同且常量后必须加冒号
…….
case En : 语句组 n;
[default: 语句组 ;]
}
执行过程:
一、计算
二、找case
三、从找到的case开始,往下全部执行
四、若没找到case,则从default开始往下全部执行,
若没default则结束switch语句。
温馨提示:答案为网友推荐,仅供参考