概述
在语句switch中,输入的字符及case后面的数据必须为整型枚举常量或整数表达式,如该程序中:
#include<stdio.h>
int main()
{
int n=2;
switch(n)
{
case 1:
printf("星期一");
break;
case 1+1:
printf("星期二");
break;
default:
break;
}
return 0;
}
常量n可以为任意整型数,case后面也可以为如“1+1”一类的整数表达式,但一旦使用非整型则会报错。
break是switch语句中的结束跳出词,而其所跳出的只是其所在一个switch语句。当一个switch语句中没有break的时候,其会从输入的case开始一直往后执行,直到遇到break或该switch语句结束为止。就如同该程序段:
#include<stdio.h>
int main()
{
int n=2;
switch(n)
{
case 1:
printf("星期一");
case 2:
printf("星期二");
case 3:
printf("星期三");
case 4:
printf("星期四");
case 5:
printf("星期五");
case 6:
printf("星期六");
case 7:
printf("星期天");
default:
break;
}
return 0;
}
由于n=2,所以其输出的结果就跳过了星期一,从“星期二”开始输出一直到该switch语句结束——星期二星期三星期四星期五星期六星期天。
如果在case:4之前加上一个break,则输出结果仅为“星期二星期三”
#include<stdio.h>
int main()
{
int n=2;
switch(n)
{
case 1:
printf("星期一");
case 2:
printf("星期二");
case 3:
printf("星期三");
break;
case 4:
printf("星期四");
case 5:
printf("星期五");
case 6:
printf("星期六");
case 7:
printf("星期天");
default:
break;
}
return 0;
}
switch语句是可以进行嵌套使用的,而在嵌套中就要格外注意break退出的是哪个语句了,就如这个程序:
#include<stdio.h>
int main()
{
int n=1,m=2;
switch(n)
{
case 1:
m++;
case 2:
n++;
case 3:
switch(n)
{
case 1:
n++;
case 2:
m++;
n++:
break;
default:
break;
}
case 4:
m++;
break;
default:
break;
}
printf("m=%d,n=%dn",m,n);
return 0;
}
该程序输出结果为:m=5,n=3。其原因就是break第一次退出只是退出嵌套进去的那一个switch,然后继续往下面进行。
最后
以上就是精明煎蛋为你收集整理的C++中switch语句中的输入值及break的使用的全部内容,希望文章能够帮你解决C++中switch语句中的输入值及break的使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复