switch语句中小括号内提示 表达式必须包含整数或枚举类型 是什么意思呢?难道只能是int型的嘛 不能是string字符串型嘛?
不可以哦,望采纳哦
switch只能针对整型,不可以是字符串。
枚举型也是整型。默认下第一个枚举值就是0,后面逐个递增1
在 switch 语句中,括号内的表达式的类型必须是整数类型(包括 char 和枚举类型),不能是浮点数或字符串等其他类型。
这是因为 switch 语句会对表达式的值进行比较,如果表达式的类型不是整数类型,那么就无法使用 switch 语句进行比较。
例如以下是一个合法的 switch 语句:
switch (x) {
case 1:
// do something
break;
case 2:
// do something else
break;
default:
// do something else
break;
}
在这个例子中,x 的类型可以是整数类型,比如 int 或者 char。
如果想使用字符串作为 switch 语句的表达式,可以使用 if 语句来代替 switch 语句。
if (str == "hello") {
// do something
} else if (str == "world") {
// do something else
} else {
// do something else
}
在这个例子中,str 的类型可以是字符串类型。
仅供参考,望采纳,谢谢。