c语言switch字符串
时间: 2024-01-03 21:03:03 浏览: 128
在C语言中,switch语句不能直接匹配字符串,因为表达式必须是常量表达式,且必须是整型或者枚举类型。但是可以通过将字符串转换为整型或者枚举类型来实现switch语句匹配字符串的功能。例如,可以使用枚举类型来表示所有可能的字符串,然后使用switch语句匹配枚举类型。另外,也可以使用if-else语句来实现字符串的匹配功能。
示例代码:
```
#include <stdio.h>
#include <string.h>
enum COMMAND { OPEN, CLOSE, QUERY };
int main() {
char str[10];
enum COMMAND cmd;
printf("请输入命令:");
scanf("%s", str);
if (strcmp(str, "open") == 0) {
cmd = OPEN;
} else if (strcmp(str, "close") == 0) {
cmd = CLOSE;
} else if (strcmp(str, "query") == 0) {
cmd = QUERY;
} else {
printf("无效命令\n");
return 0;
}
switch (cmd) {
case OPEN:
printf("执行打开操作\n");
break;
case CLOSE:
printf("执行关闭操作\n");
break;
case QUERY:
printf("执行查询操作\n");
break;
default:
break;
}
return 0;
}
```
阅读全文