Switch后面的case后面想接字符串怎么办
时间: 2024-01-07 14:05:33 浏览: 32
在C语言中,switch语句中的case标签只能是整数常量表达式,不能是字符串。如果想要在switch语句中使用字符串,可以考虑使用if-else语句或者使用哈希表来实现。
对于if-else语句,可以使用strcmp()函数来比较字符串。例如:
```
if(strcmp(str, "hello") == 0) {
// do something
} else if(strcmp(str, "world") == 0) {
// do something else
} else {
// handle other cases
}
```
对于哈希表,可以将字符串映射到整数,然后在switch语句中使用整数常量。例如:
```
enum { HELLO, WORLD, OTHER } str_enum;
// use a hash function to map strings to integers
if(strcmp(str, "hello") == 0) {
str_enum = HELLO;
} else if(strcmp(str, "world") == 0) {
str_enum = WORLD;
} else {
str_enum = OTHER;
}
// use the integer constants in switch statement
switch(str_enum) {
case HELLO:
// do something
break;
case WORLD:
// do something else
break;
default:
// handle other cases
break;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)