int caseNum = /* 一些用于决定调用哪个函数的逻辑 */; // 假设 caseNum 在合法范围内 (*funcPtrArray[caseNum])(); // 调用对应函数 return 0; } 通过这种方式,我们不仅减少了复杂且冗长的switch case结构,也使得每个分支的功能更加模块化,便于单独修改和维护。 二、采用查表法 查表法,尤
switch (expression) { case x: 代码块 break; case y: 代码块 break; default: 代码块 } ``` switch语句的规则 表达式类型:switch语句中的表达式必须是int或enum类型,其他数据类型如float无法通过编译,因为编译器需要精确匹配switch后面的语句和case后面的值。 多个case语句:switch可以包含任意个case语句(包括没有...
enumweek { Mon =1,Tues, Wed, Thurs, Fri, Sat, Sun } day;//day可放到这 //enum week day;定义 scanf("%d", &day); switch(day) { caseMon:puts("Monday");break;//1 puts代替printf输出字符串 caseTues:puts("Tuesday");break;// 2 caseWed:puts("Wednesday");break;// 3 caseThurs:put...
整数类型:switch语句的参数必须是整数类型,包括int、char和enum等。这是因为switch语句内部使用整数比较来确定要执行的case分支。 不可变性:switch语句的参数通常是不可变的,即它们应该是常量或者局部变量,而不是全局变量或者通过指针访问的变量。这是因为switch语句在编译时需要进行优化,如果参数是可变的,那么编译器可能...
在C语言中使用枚举类型在switch case语句中非常方便。首先需要定义一个枚举类型,然后在switch case中使用这个枚举类型的值来进行判断。以下是一个简单的示例: #include <stdio.h> enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}; int main() { enum Weekday today = Wednesday;...
switch 语句中使用的表达式必须是整型 (int, char, enum) 表达式,不允许为其他类型。 // float type is not allowed in switch expressionfloatx =1.1;switch(x) {case1.1:printf("case 1.1");break;default:printf("default");break; } MSVC 编译器的报错为: ...
switch :用于开关语句 case:开关语句分支 default:开关语句中的“其他”分支 D返回语句: return :子程序返回语句(可以带参数,也看不带参数) 存储类型关键字(4个): auto :声明自动变量 一般不使用 extern:声明变量是在其他文件正声明(也可以看做是引用变量) ...
enumweek{Mon=1,Tues,Wed,Thurs,Fri,Sat,Sun}day; scanf("%d",&day); switch(day){ caseMon:puts("Monday");break; caseTues:puts("Tuesday");break; caseWed:puts("Wednesday");break; caseThurs:puts("Thursday");break; caseFri:puts("Friday");break; ...
整型常量有多种,比如int、char、enum枚举常量,在C++中bool类型也属于整型常量的一种。一般switch语句使用此种格式switch(表达式){case 常量表达式1:语句1;...case 常量表达式2:语句2;default:语句;} switch是一个整型表达式。case是一个整数常量表达式。只所以不能使用浮点数,个人理解应该是浮点数的精...
(1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量 一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) ...