Switch 语句中括号内的值类型限制
是的,switch() 括号内的值必须是整型或字符型。
Switch 语句用于根据表达式的值执行不同的代码块。switch() 括号内的表达式必须能够解析为一个整型或字符型值,以便与 case 语句中的值进行比较。
这是因为 switch 语句的机制是根据表达式的值,在 case 语句列表中查找匹配的值。如果表达式不是整型或字符型,则无法进行有效的比较。
例如,以下代码是合法的:
int day = 2;
switch (day) {
case 1:
printf("星期一");
break;
case 2:
printf("星期二");
break;
default:
printf("其他日期");
}
而以下代码是非法的:
char grade = 'A';
switch (grade) {
case "A":
printf("优秀");
break;
case "B":
printf("良好");
break;
default:
printf("其他");
}
因为 case 语句中使用的不是整型或字符型值。
在实际应用中,您可以通过将非整型或字符型数据转换为整型或字符型来使用 switch 语句。例如,您可以使用 toString() 方法将字符串转换为字符型,或使用 parseInt() 方法将字符串转换为整型。
原文地址: https://www.cveoy.top/t/topic/nqhy 著作权归作者所有。请勿转载和采集!