Switch
switch语句常常用于多分支的场景。
1.基本语句形式:
switch (整型表达式)
{
语句项;
}
备注:语句项:switch语句中的语句项是一些case语句。
2.case语句形式为:
case 整型常量表达式:
语句;
break;
备注:case相当于入口,break相当于出口。因为switch语句中常常有多个分支,所以出口break就显得尤为重要。若无break,则代码会由入口case一直运行至结束。
示例
int main()
{
int n = 1;
int m= 2;
switch(n)
{
case 1:m++;
case 2:n++;
case 3:
switch(n)
{
case 1:
n++;
case 2:
m++;
n++;
break;
}
case 4:
m++;
break;
default;
break;
}
printf(“m = %d,n = %d\n”,m,n);
return 0;
}
备注:
以上示例代码的运行结果为m=5,n=3.
且,switch语句可以嵌套,例如加粗部分。
上述代码运行过程的讲解:
首先,输入的m=2、n=1,因为第一个switch语句(以下称主s)是以n为判断,所以由case 1进入。
因为1、2、3之间没有break出口,所以代码运行进入case 3,也是第二个switch语句(以下称次s,也就是加粗部分)。进入case 3时,n=2、m=3。
在次s中,直到case 2运行结束才跳出次s部分,并进入case 4。此时n=3、m=4。
结束case 4后,代码跳出,运行结束,结果为n=3、m=5。