一、概念
/*
1.switch的条件表达式注意点
switch的条件表达式 必须是返回整数的表达式, 也就是说()中只能放整数
或者写能够转换为证书的类型也可以 例如char可以转换int类型, 所以写char也可以
2.case的取值
switch中, case后面只能放返回值是整数的表达式或者整数,或者能够转换为整数的类型
case的取值 不能重复
case后面不能放变量,因为系统在编译的时候对 switch后面所有的case进行优化, 会根据case后面的常量值,生成一张取值表
default的位置问题
switch的default可以随便放
无论default写在什么地方, 他都会最后执行(只有前面所有的case都不满住的情况下才会执行)
只要有某一个case满足, 那么所有的case都会失效
同理 : 只要default满足,那么所有的case都会失效
*/
二、代码
#include <stdio.h>
int main()
{
/*
switch (3+3) {
case 6:
printf("6");
break;
case 8:
printf("8");
break;
default:
printf("other");
break;
}
*/
/*
// 2.case的取值
// switch中, case后面只能放返回值是整数的表达式或者整数,或者能够转换为整数的类型
// case的取值 不能重复
// case后面不能放变量,因为系统在编译的时候对 switch后面所有的case进行优化, 会根据case后面的常量值,生成一张取值表
int number = 7;
switch (3+3) {
case 3 + 3:
printf("6");
break;
case 'A':
printf("8");
break;
// case number:
// printf("8");
// break;
default:
printf("other");
break;
}
*/
switch (20) {
default:
printf("other\n");
// break;
case 6:
printf("6");
break;
case 8:
printf("8");
break;
}
return 0;
}